{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Ablation_Cam_CIFAR-100",
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "5mkCGRbVj9f7",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import numpy as np\n",
        "import tensorflow as tf\n",
        "from tensorflow import keras\n",
        "from IPython.display import Image\n",
        "import matplotlib.pyplot as plt\n",
        "import matplotlib.cm as cm\n",
        "import glob\n",
        "import matplotlib\n",
        "from matplotlib import pyplot as plt\n",
        "import matplotlib.image as mpimg\n",
        "import numpy as np\n",
        "import imageio as im\n",
        "from keras import models\n",
        "from keras.models import Sequential\n",
        "from keras.layers import Conv2D ,Input\n",
        "from keras.layers import MaxPool2D,BatchNormalization\n",
        "from keras.layers import Flatten\n",
        "from keras.layers import Dense\n",
        "from keras.layers import Dropout\n",
        "from keras.preprocessing import image\n",
        "from keras.preprocessing.image import ImageDataGenerator\n",
        "from keras.callbacks import ModelCheckpoint\n",
        "import pandas as pd\n",
        "import keras.backend as K\n",
        "import cv2\n",
        "from __future__ import print_function\n",
        "import keras\n",
        "from keras.datasets import cifar100\n",
        "from keras.preprocessing.image import ImageDataGenerator\n",
        "from keras.models import Sequential\n",
        "from keras.layers import Dense, Dropout, Activation, Flatten\n",
        "from keras.layers import Conv2D, MaxPooling2D, BatchNormalization\n",
        "from keras import optimizers\n",
        "import numpy as np\n",
        "from keras.layers.core import Lambda\n",
        "from keras import backend as K\n",
        "from keras import regularizers\n"
      ],
      "execution_count": 82,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "zTPurafpkDjE",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "(x_train,y_train),(x_test,y_test)=keras.datasets.cifar100.load_data()\n",
        "y_train = keras.utils.to_categorical(y_train, 100)\n",
        "y_test = keras.utils.to_categorical(y_test, 100)"
      ],
      "execution_count": 83,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8gICpMrkcAuC",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "# count = []\n",
        "# for i in range(1000):\n",
        "#   number = np.argmax(y_train[i])\n",
        "#   if number not in count:\n",
        "#     count.append(number)\n",
        "#     if (y_train[i][number]==1):\n",
        "#       plt.figure()\n",
        "#       plt.title(number)\n",
        "#       plt.imshow(x_train[i])\n",
        "\n",
        "# for i in range(1000):\n",
        "#   if y_train[i][67]==1:\n",
        "#     plt.figure()\n",
        "#     plt.imshow(x_train[i])"
      ],
      "execution_count": 84,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "E5mq3ei6cwDa",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "8ac0bbb9-3457-4dd3-cb98-53f0d4ff719a"
      },
      "source": [
        "np.argmax(y_train[0])"
      ],
      "execution_count": 85,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "19"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 85
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ItkJQoYDkStg",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "# input = Input(shape=(32,32,3))\n",
        "# x = Conv2D(128,3,activation='relu')(input)\n",
        "# x = Conv2D(64,3,activation='relu')(x)\n",
        "# x = Dropout(0.2)(x)\n",
        "# x = Conv2D(32,3,activation='relu')(x)\n",
        "# x = MaxPool2D((2,2))(x)\n",
        "# x = Conv2D(16,3,activation='relu')(x)\n",
        "# x = Dropout(0.2)(x)\n",
        "\n",
        "# y = Flatten()(x)\n",
        "# y = Dense(128,activation='relu')(y)\n",
        "# y = Dense(100,activation='softmax')(y)\n",
        "\n",
        "# model = models.Model(input,y)\n"
      ],
      "execution_count": 86,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "WSJICYZkfWLY",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "8da83a0f-384c-4b17-995f-9235c19075e5"
      },
      "source": [
        "model = Sequential()\n",
        "weight_decay = 0.0005\n",
        "\n",
        "model.add(Conv2D(64, (3, 3), padding='same',\n",
        "                  input_shape=(32,32,3),kernel_regularizer=regularizers.l2(weight_decay)))\n",
        "model.add(Activation('relu'))\n",
        "model.add(BatchNormalization())\n",
        "model.add(Dropout(0.3))\n",
        "\n",
        "model.add(Conv2D(64, (3, 3), padding='same',kernel_regularizer=regularizers.l2(weight_decay)))\n",
        "model.add(Activation('relu'))\n",
        "model.add(BatchNormalization())\n",
        "\n",
        "model.add(MaxPooling2D(pool_size=(2, 2)))\n",
        "\n",
        "model.add(Conv2D(128, (3, 3), padding='same',kernel_regularizer=regularizers.l2(weight_decay)))\n",
        "model.add(Activation('relu'))\n",
        "model.add(BatchNormalization())\n",
        "model.add(Dropout(0.4))\n",
        "\n",
        "model.add(Conv2D(128, (3, 3), padding='same',kernel_regularizer=regularizers.l2(weight_decay)))\n",
        "model.add(Activation('relu'))\n",
        "model.add(BatchNormalization())\n",
        "\n",
        "model.add(MaxPooling2D(pool_size=(2, 2)))\n",
        "\n",
        "model.add(Conv2D(256, (3, 3), padding='same',kernel_regularizer=regularizers.l2(weight_decay)))\n",
        "model.add(Activation('relu'))\n",
        "model.add(BatchNormalization())\n",
        "model.add(Dropout(0.4))\n",
        "\n",
        "model.add(Conv2D(256, (3, 3), padding='same',kernel_regularizer=regularizers.l2(weight_decay)))\n",
        "model.add(Activation('relu'))\n",
        "model.add(BatchNormalization())\n",
        "model.add(Dropout(0.4))\n",
        "\n",
        "model.add(Conv2D(256, (3, 3), padding='same',kernel_regularizer=regularizers.l2(weight_decay)))\n",
        "model.add(Activation('relu'))\n",
        "model.add(BatchNormalization())\n",
        "\n",
        "model.add(MaxPooling2D(pool_size=(2, 2)))\n",
        "model.add(Dropout(0.5))\n",
        "\n",
        "model.add(Flatten())\n",
        "model.add(Dense(512,kernel_regularizer=regularizers.l2(weight_decay)))\n",
        "model.add(Activation('relu'))\n",
        "model.add(BatchNormalization())\n",
        "\n",
        "model.add(Dropout(0.5))\n",
        "model.add(Dense(100))\n",
        "model.add(Activation('softmax'))\n",
        "\n",
        "model.summary()"
      ],
      "execution_count": 87,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Model: \"sequential_6\"\n",
            "_________________________________________________________________\n",
            "Layer (type)                 Output Shape              Param #   \n",
            "=================================================================\n",
            "conv2d_38 (Conv2D)           (None, 32, 32, 64)        1792      \n",
            "_________________________________________________________________\n",
            "activation_39 (Activation)   (None, 32, 32, 64)        0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_36 (Batc (None, 32, 32, 64)        256       \n",
            "_________________________________________________________________\n",
            "dropout_28 (Dropout)         (None, 32, 32, 64)        0         \n",
            "_________________________________________________________________\n",
            "conv2d_39 (Conv2D)           (None, 32, 32, 64)        36928     \n",
            "_________________________________________________________________\n",
            "activation_40 (Activation)   (None, 32, 32, 64)        0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_37 (Batc (None, 32, 32, 64)        256       \n",
            "_________________________________________________________________\n",
            "max_pooling2d_14 (MaxPooling (None, 16, 16, 64)        0         \n",
            "_________________________________________________________________\n",
            "conv2d_40 (Conv2D)           (None, 16, 16, 128)       73856     \n",
            "_________________________________________________________________\n",
            "activation_41 (Activation)   (None, 16, 16, 128)       0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_38 (Batc (None, 16, 16, 128)       512       \n",
            "_________________________________________________________________\n",
            "dropout_29 (Dropout)         (None, 16, 16, 128)       0         \n",
            "_________________________________________________________________\n",
            "conv2d_41 (Conv2D)           (None, 16, 16, 128)       147584    \n",
            "_________________________________________________________________\n",
            "activation_42 (Activation)   (None, 16, 16, 128)       0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_39 (Batc (None, 16, 16, 128)       512       \n",
            "_________________________________________________________________\n",
            "max_pooling2d_15 (MaxPooling (None, 8, 8, 128)         0         \n",
            "_________________________________________________________________\n",
            "conv2d_42 (Conv2D)           (None, 8, 8, 256)         295168    \n",
            "_________________________________________________________________\n",
            "activation_43 (Activation)   (None, 8, 8, 256)         0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_40 (Batc (None, 8, 8, 256)         1024      \n",
            "_________________________________________________________________\n",
            "dropout_30 (Dropout)         (None, 8, 8, 256)         0         \n",
            "_________________________________________________________________\n",
            "conv2d_43 (Conv2D)           (None, 8, 8, 256)         590080    \n",
            "_________________________________________________________________\n",
            "activation_44 (Activation)   (None, 8, 8, 256)         0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_41 (Batc (None, 8, 8, 256)         1024      \n",
            "_________________________________________________________________\n",
            "dropout_31 (Dropout)         (None, 8, 8, 256)         0         \n",
            "_________________________________________________________________\n",
            "conv2d_44 (Conv2D)           (None, 8, 8, 256)         590080    \n",
            "_________________________________________________________________\n",
            "activation_45 (Activation)   (None, 8, 8, 256)         0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_42 (Batc (None, 8, 8, 256)         1024      \n",
            "_________________________________________________________________\n",
            "max_pooling2d_16 (MaxPooling (None, 4, 4, 256)         0         \n",
            "_________________________________________________________________\n",
            "dropout_32 (Dropout)         (None, 4, 4, 256)         0         \n",
            "_________________________________________________________________\n",
            "flatten_5 (Flatten)          (None, 4096)              0         \n",
            "_________________________________________________________________\n",
            "dense_10 (Dense)             (None, 512)               2097664   \n",
            "_________________________________________________________________\n",
            "activation_46 (Activation)   (None, 512)               0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_43 (Batc (None, 512)               2048      \n",
            "_________________________________________________________________\n",
            "dropout_33 (Dropout)         (None, 512)               0         \n",
            "_________________________________________________________________\n",
            "dense_11 (Dense)             (None, 100)               51300     \n",
            "_________________________________________________________________\n",
            "activation_47 (Activation)   (None, 100)               0         \n",
            "=================================================================\n",
            "Total params: 3,891,108\n",
            "Trainable params: 3,887,780\n",
            "Non-trainable params: 3,328\n",
            "_________________________________________________________________\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "H4MDHgD2lED5",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "model.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['acc'])"
      ],
      "execution_count": 89,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "l6Aol3yalikp",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "d5bfc4f9-809c-444b-e554-ed63e13fa204"
      },
      "source": [
        "model.fit(x_train,y_train,epochs=50,validation_data=(x_test,y_test),batch_size=32)"
      ],
      "execution_count": 90,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Epoch 1/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 5.2625 - acc: 0.1007 - val_loss: 4.6029 - val_acc: 0.1700\n",
            "Epoch 2/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 4.3775 - acc: 0.2147 - val_loss: 4.1917 - val_acc: 0.2450\n",
            "Epoch 3/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 4.0185 - acc: 0.2909 - val_loss: 3.7675 - val_acc: 0.3507\n",
            "Epoch 4/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.9210 - acc: 0.3325 - val_loss: 3.7321 - val_acc: 0.3884\n",
            "Epoch 5/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.9012 - acc: 0.3605 - val_loss: 3.6221 - val_acc: 0.4205\n",
            "Epoch 6/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.8644 - acc: 0.3792 - val_loss: 3.8729 - val_acc: 0.3883\n",
            "Epoch 7/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.8425 - acc: 0.3947 - val_loss: 3.7810 - val_acc: 0.4154\n",
            "Epoch 8/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.8155 - acc: 0.4040 - val_loss: 3.7794 - val_acc: 0.4167\n",
            "Epoch 9/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.7745 - acc: 0.4109 - val_loss: 3.8409 - val_acc: 0.4006\n",
            "Epoch 10/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.7490 - acc: 0.4225 - val_loss: 3.7460 - val_acc: 0.4158\n",
            "Epoch 11/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.7118 - acc: 0.4286 - val_loss: 3.5860 - val_acc: 0.4563\n",
            "Epoch 12/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.6961 - acc: 0.4367 - val_loss: 3.6865 - val_acc: 0.4341\n",
            "Epoch 13/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.6630 - acc: 0.4398 - val_loss: 3.5708 - val_acc: 0.4640\n",
            "Epoch 14/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.6333 - acc: 0.4417 - val_loss: 3.6584 - val_acc: 0.4307\n",
            "Epoch 15/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.5956 - acc: 0.4494 - val_loss: 3.5634 - val_acc: 0.4525\n",
            "Epoch 16/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.5859 - acc: 0.4519 - val_loss: 3.5875 - val_acc: 0.4515\n",
            "Epoch 17/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.5504 - acc: 0.4544 - val_loss: 3.4123 - val_acc: 0.4852\n",
            "Epoch 18/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.5291 - acc: 0.4608 - val_loss: 3.4550 - val_acc: 0.4720\n",
            "Epoch 19/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.4962 - acc: 0.4629 - val_loss: 3.4118 - val_acc: 0.4791\n",
            "Epoch 20/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.4788 - acc: 0.4640 - val_loss: 3.4590 - val_acc: 0.4696\n",
            "Epoch 21/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.4671 - acc: 0.4641 - val_loss: 3.3670 - val_acc: 0.4903\n",
            "Epoch 22/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.4619 - acc: 0.4638 - val_loss: 3.3850 - val_acc: 0.4824\n",
            "Epoch 23/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.4345 - acc: 0.4706 - val_loss: 3.3906 - val_acc: 0.4824\n",
            "Epoch 24/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.4123 - acc: 0.4692 - val_loss: 3.3032 - val_acc: 0.4984\n",
            "Epoch 25/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.4004 - acc: 0.4730 - val_loss: 3.2733 - val_acc: 0.4993\n",
            "Epoch 26/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.3799 - acc: 0.4747 - val_loss: 3.4029 - val_acc: 0.4658\n",
            "Epoch 27/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.3733 - acc: 0.4735 - val_loss: 3.3259 - val_acc: 0.4887\n",
            "Epoch 28/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.3543 - acc: 0.4748 - val_loss: 3.3118 - val_acc: 0.4901\n",
            "Epoch 29/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.3450 - acc: 0.4760 - val_loss: 3.3405 - val_acc: 0.4830\n",
            "Epoch 30/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.3376 - acc: 0.4780 - val_loss: 3.2463 - val_acc: 0.5048\n",
            "Epoch 31/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.3301 - acc: 0.4800 - val_loss: 3.2801 - val_acc: 0.4909\n",
            "Epoch 32/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.3226 - acc: 0.4791 - val_loss: 3.3062 - val_acc: 0.4839\n",
            "Epoch 33/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.3073 - acc: 0.4824 - val_loss: 3.2354 - val_acc: 0.5009\n",
            "Epoch 34/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.3108 - acc: 0.4790 - val_loss: 3.1391 - val_acc: 0.5177\n",
            "Epoch 35/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.2909 - acc: 0.4847 - val_loss: 3.1095 - val_acc: 0.5240\n",
            "Epoch 36/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2805 - acc: 0.4829 - val_loss: 3.1174 - val_acc: 0.5191\n",
            "Epoch 37/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2791 - acc: 0.4861 - val_loss: 3.1638 - val_acc: 0.5112\n",
            "Epoch 38/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.2706 - acc: 0.4845 - val_loss: 3.1313 - val_acc: 0.5190\n",
            "Epoch 39/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2743 - acc: 0.4845 - val_loss: 3.1904 - val_acc: 0.5006\n",
            "Epoch 40/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2613 - acc: 0.4860 - val_loss: 3.2125 - val_acc: 0.4968\n",
            "Epoch 41/50\n",
            "1563/1563 [==============================] - 52s 33ms/step - loss: 3.2432 - acc: 0.4890 - val_loss: 3.3322 - val_acc: 0.4783\n",
            "Epoch 42/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2455 - acc: 0.4868 - val_loss: 3.1364 - val_acc: 0.5141\n",
            "Epoch 43/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2440 - acc: 0.4866 - val_loss: 3.1241 - val_acc: 0.5172\n",
            "Epoch 44/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2238 - acc: 0.4904 - val_loss: 3.2292 - val_acc: 0.4936\n",
            "Epoch 45/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2397 - acc: 0.4884 - val_loss: 3.1211 - val_acc: 0.5176\n",
            "Epoch 46/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2319 - acc: 0.4915 - val_loss: 3.2326 - val_acc: 0.4970\n",
            "Epoch 47/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2175 - acc: 0.4916 - val_loss: 3.1374 - val_acc: 0.5112\n",
            "Epoch 48/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2112 - acc: 0.4927 - val_loss: 3.2079 - val_acc: 0.4947\n",
            "Epoch 49/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2005 - acc: 0.4924 - val_loss: 3.2631 - val_acc: 0.4816\n",
            "Epoch 50/50\n",
            "1563/1563 [==============================] - 51s 33ms/step - loss: 3.2055 - acc: 0.4921 - val_loss: 3.3054 - val_acc: 0.4757\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<tensorflow.python.keras.callbacks.History at 0x7f534941b1d0>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 90
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "J7rmNVRTJe2l",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "model.save_weights(\"weights.h5\")"
      ],
      "execution_count": 137,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "vuu5cj7us--2",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 521
        },
        "outputId": "0fd71f67-cbd4-4be4-9df3-4c89f538dd68"
      },
      "source": [
        "layer_outputs = [layer.output for layer in model.layers[:-7]] # Getting all the ouputs of layers (mainly Conv layers)\n",
        "layer_outputs"
      ],
      "execution_count": 128,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "[<tf.Tensor 'conv2d_38/BiasAdd:0' shape=(None, 32, 32, 64) dtype=float32>,\n",
              " <tf.Tensor 'activation_39/Relu:0' shape=(None, 32, 32, 64) dtype=float32>,\n",
              " <tf.Tensor 'batch_normalization_36/cond/Identity:0' shape=(None, 32, 32, 64) dtype=float32>,\n",
              " <tf.Tensor 'dropout_28/cond/Identity:0' shape=(None, 32, 32, 64) dtype=float32>,\n",
              " <tf.Tensor 'conv2d_39/BiasAdd:0' shape=(None, 32, 32, 64) dtype=float32>,\n",
              " <tf.Tensor 'activation_40/Relu:0' shape=(None, 32, 32, 64) dtype=float32>,\n",
              " <tf.Tensor 'batch_normalization_37/cond/Identity:0' shape=(None, 32, 32, 64) dtype=float32>,\n",
              " <tf.Tensor 'max_pooling2d_14/MaxPool:0' shape=(None, 16, 16, 64) dtype=float32>,\n",
              " <tf.Tensor 'conv2d_40/BiasAdd:0' shape=(None, 16, 16, 128) dtype=float32>,\n",
              " <tf.Tensor 'activation_41/Relu:0' shape=(None, 16, 16, 128) dtype=float32>,\n",
              " <tf.Tensor 'batch_normalization_38/cond/Identity:0' shape=(None, 16, 16, 128) dtype=float32>,\n",
              " <tf.Tensor 'dropout_29/cond/Identity:0' shape=(None, 16, 16, 128) dtype=float32>,\n",
              " <tf.Tensor 'conv2d_41/BiasAdd:0' shape=(None, 16, 16, 128) dtype=float32>,\n",
              " <tf.Tensor 'activation_42/Relu:0' shape=(None, 16, 16, 128) dtype=float32>,\n",
              " <tf.Tensor 'batch_normalization_39/cond/Identity:0' shape=(None, 16, 16, 128) dtype=float32>,\n",
              " <tf.Tensor 'max_pooling2d_15/MaxPool:0' shape=(None, 8, 8, 128) dtype=float32>,\n",
              " <tf.Tensor 'conv2d_42/BiasAdd:0' shape=(None, 8, 8, 256) dtype=float32>,\n",
              " <tf.Tensor 'activation_43/Relu:0' shape=(None, 8, 8, 256) dtype=float32>,\n",
              " <tf.Tensor 'batch_normalization_40/cond/Identity:0' shape=(None, 8, 8, 256) dtype=float32>,\n",
              " <tf.Tensor 'dropout_30/cond/Identity:0' shape=(None, 8, 8, 256) dtype=float32>,\n",
              " <tf.Tensor 'conv2d_43/BiasAdd:0' shape=(None, 8, 8, 256) dtype=float32>,\n",
              " <tf.Tensor 'activation_44/Relu:0' shape=(None, 8, 8, 256) dtype=float32>,\n",
              " <tf.Tensor 'batch_normalization_41/cond/Identity:0' shape=(None, 8, 8, 256) dtype=float32>,\n",
              " <tf.Tensor 'dropout_31/cond/Identity:0' shape=(None, 8, 8, 256) dtype=float32>,\n",
              " <tf.Tensor 'conv2d_44/BiasAdd:0' shape=(None, 8, 8, 256) dtype=float32>,\n",
              " <tf.Tensor 'activation_45/Relu:0' shape=(None, 8, 8, 256) dtype=float32>,\n",
              " <tf.Tensor 'batch_normalization_42/cond/Identity:0' shape=(None, 8, 8, 256) dtype=float32>,\n",
              " <tf.Tensor 'max_pooling2d_16/MaxPool:0' shape=(None, 4, 4, 256) dtype=float32>,\n",
              " <tf.Tensor 'dropout_32/cond/Identity:0' shape=(None, 4, 4, 256) dtype=float32>]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 128
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "n4TR-ww4tAMP",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "a = model.layers[-9]\n",
        "classifier_layer_names = [\n",
        "    \"flatten_5\",'dense_10','activation_46','batch_normalization_43','dropout_33','dense_11','activation_47'\n",
        "]\n",
        "classifier_input = keras.Input(shape=a.output.shape[1:])\n",
        "x = classifier_input\n",
        "for layer_name in classifier_layer_names:\n",
        "  x = model.get_layer(layer_name)(x)\n",
        "classifier_model = keras.Model(classifier_input, x)"
      ],
      "execution_count": 138,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "UXFvpEattFMb",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 434
        },
        "outputId": "933f678d-df61-465f-9048-75ecca83bb8c"
      },
      "source": [
        "classifier_model.summary()"
      ],
      "execution_count": 139,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Model: \"functional_33\"\n",
            "_________________________________________________________________\n",
            "Layer (type)                 Output Shape              Param #   \n",
            "=================================================================\n",
            "input_18 (InputLayer)        [(None, 4, 4, 256)]       0         \n",
            "_________________________________________________________________\n",
            "flatten_5 (Flatten)          multiple                  0         \n",
            "_________________________________________________________________\n",
            "dense_10 (Dense)             (None, 512)               2097664   \n",
            "_________________________________________________________________\n",
            "activation_46 (Activation)   (None, 512)               0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_43 (Batc (None, 512)               2048      \n",
            "_________________________________________________________________\n",
            "dropout_33 (Dropout)         (None, 512)               0         \n",
            "_________________________________________________________________\n",
            "dense_11 (Dense)             (None, 100)               51300     \n",
            "_________________________________________________________________\n",
            "activation_47 (Activation)   (None, 100)               0         \n",
            "=================================================================\n",
            "Total params: 2,151,012\n",
            "Trainable params: 2,149,988\n",
            "Non-trainable params: 1,024\n",
            "_________________________________________________________________\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "YGopCVaNtYbP",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "activation_model = models.Model(inputs=model.input, outputs=layer_outputs) # Activation model from Image to Last layer before Flatten"
      ],
      "execution_count": 140,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "AnNbtU6htasL",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "cd0feb53-2e25-4dd8-b963-e2979485c7e9"
      },
      "source": [
        "img = keras.preprocessing.image.load_img('b.jpg',target_size=(32,32,3))\n",
        "img = keras.preprocessing.image.img_to_array(img)\n",
        "img = np.expand_dims(img,axis=0)\n",
        "img.shape\n",
        "#model.predict(img)"
      ],
      "execution_count": 171,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(1, 32, 32, 3)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 171
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "q_V3U-xetji9",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 52
        },
        "outputId": "9aff42fa-4c02-4300-a1e6-8b808ff1e30f"
      },
      "source": [
        "class_number = np.argmax(model.predict(img))\n",
        "print(class_number)\n",
        "pred_value = model.predict(img)[0][class_number]\n",
        "pred_value"
      ],
      "execution_count": 142,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "88\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "0.30604428"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 142
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "dVlEJemituLh",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "a567e53f-d304-47b6-b098-1e62a24767e2"
      },
      "source": [
        "activations = activation_model.predict(img) \n",
        "last_layer_activation = activations[27]\n",
        "(last_layer_activation.shape)"
      ],
      "execution_count": 144,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(1, 4, 4, 256)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 144
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Gw2NkTOonQSO",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 286
        },
        "outputId": "8ef7c85f-f2d7-4eea-af45-12552e4cba64"
      },
      "source": [
        "heatmap = np.mean(last_layer_activation, axis=-1)\n",
        "heatmap = np.maximum(heatmap, 0) / np.max(heatmap)\n",
        "heatmap\n",
        "plt.imshow(heatmap[0])"
      ],
      "execution_count": 145,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f5348c12ef0>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 145
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Fuxgv4-It36-",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "8c23f4da-fb20-4b92-c891-bba9424d72f6"
      },
      "source": [
        "values = []\n",
        "for i in range(256):\n",
        "  activations = activation_model.predict(img) \n",
        "  last_layer_activation = activations[27]\n",
        "  activation = last_layer_activation\n",
        "  for j in range(4):\n",
        "    for k in range(4):\n",
        "      activation[0][j][k][i]=0\n",
        "  #print(activation[0][0][0])\n",
        "  prediction = classifier_model(activation)\n",
        "  a= prediction[0][class_number]\n",
        "  values.append(a.numpy())\n",
        "values"
      ],
      "execution_count": 147,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "[0.31393635,\n",
              " 0.3146157,\n",
              " 0.30473068,\n",
              " 0.30604443,\n",
              " 0.3130193,\n",
              " 0.30604443,\n",
              " 0.29654473,\n",
              " 0.30604446,\n",
              " 0.30704045,\n",
              " 0.301583,\n",
              " 0.30606237,\n",
              " 0.29982424,\n",
              " 0.3019536,\n",
              " 0.30522716,\n",
              " 0.32294065,\n",
              " 0.305995,\n",
              " 0.30604443,\n",
              " 0.3078328,\n",
              " 0.30604443,\n",
              " 0.30288056,\n",
              " 0.30988726,\n",
              " 0.27715653,\n",
              " 0.30639848,\n",
              " 0.30604443,\n",
              " 0.30426306,\n",
              " 0.30563796,\n",
              " 0.32454452,\n",
              " 0.29919356,\n",
              " 0.30604443,\n",
              " 0.30962133,\n",
              " 0.3019125,\n",
              " 0.29509446,\n",
              " 0.30630696,\n",
              " 0.31678316,\n",
              " 0.3036416,\n",
              " 0.29637164,\n",
              " 0.29773974,\n",
              " 0.30604443,\n",
              " 0.30627453,\n",
              " 0.30606183,\n",
              " 0.33021933,\n",
              " 0.26835686,\n",
              " 0.30604443,\n",
              " 0.31436574,\n",
              " 0.29926324,\n",
              " 0.3060441,\n",
              " 0.2812512,\n",
              " 0.30025777,\n",
              " 0.30604443,\n",
              " 0.2976674,\n",
              " 0.30647716,\n",
              " 0.29505607,\n",
              " 0.31153402,\n",
              " 0.30604443,\n",
              " 0.3060444,\n",
              " 0.30574843,\n",
              " 0.30545527,\n",
              " 0.30604443,\n",
              " 0.30018833,\n",
              " 0.30397508,\n",
              " 0.30881628,\n",
              " 0.3001299,\n",
              " 0.29898873,\n",
              " 0.31597906,\n",
              " 0.2972899,\n",
              " 0.310062,\n",
              " 0.31422725,\n",
              " 0.30485123,\n",
              " 0.31254968,\n",
              " 0.30612314,\n",
              " 0.29610363,\n",
              " 0.2932339,\n",
              " 0.3020804,\n",
              " 0.30604443,\n",
              " 0.30604443,\n",
              " 0.30780837,\n",
              " 0.30604443,\n",
              " 0.29989904,\n",
              " 0.30550188,\n",
              " 0.30140793,\n",
              " 0.29925606,\n",
              " 0.30712643,\n",
              " 0.30604443,\n",
              " 0.30744967,\n",
              " 0.3060889,\n",
              " 0.31519198,\n",
              " 0.30610955,\n",
              " 0.30915305,\n",
              " 0.31116155,\n",
              " 0.30604443,\n",
              " 0.30295414,\n",
              " 0.30604443,\n",
              " 0.30604443,\n",
              " 0.3130781,\n",
              " 0.29558685,\n",
              " 0.31291744,\n",
              " 0.29285407,\n",
              " 0.30604446,\n",
              " 0.28830263,\n",
              " 0.31225926,\n",
              " 0.30797154,\n",
              " 0.30369475,\n",
              " 0.30317926,\n",
              " 0.31098711,\n",
              " 0.3147403,\n",
              " 0.30646604,\n",
              " 0.3036627,\n",
              " 0.30749965,\n",
              " 0.3131802,\n",
              " 0.31240335,\n",
              " 0.30604443,\n",
              " 0.31679446,\n",
              " 0.30261815,\n",
              " 0.31021345,\n",
              " 0.30604443,\n",
              " 0.31091276,\n",
              " 0.2861202,\n",
              " 0.29977793,\n",
              " 0.30604425,\n",
              " 0.3060444,\n",
              " 0.31875026,\n",
              " 0.30602807,\n",
              " 0.30604458,\n",
              " 0.31382203,\n",
              " 0.30758926,\n",
              " 0.30604443,\n",
              " 0.3029767,\n",
              " 0.33157784,\n",
              " 0.29242623,\n",
              " 0.3060444,\n",
              " 0.29795858,\n",
              " 0.3072078,\n",
              " 0.30141324,\n",
              " 0.30263925,\n",
              " 0.30604443,\n",
              " 0.29984358,\n",
              " 0.3248175,\n",
              " 0.29859525,\n",
              " 0.3032054,\n",
              " 0.28971022,\n",
              " 0.3060426,\n",
              " 0.30720246,\n",
              " 0.30604443,\n",
              " 0.28583786,\n",
              " 0.30604443,\n",
              " 0.31240362,\n",
              " 0.2860697,\n",
              " 0.29893336,\n",
              " 0.3055396,\n",
              " 0.30614668,\n",
              " 0.29654545,\n",
              " 0.2959426,\n",
              " 0.30554682,\n",
              " 0.3306441,\n",
              " 0.2988756,\n",
              " 0.30609244,\n",
              " 0.30604467,\n",
              " 0.30287305,\n",
              " 0.31358388,\n",
              " 0.3143258,\n",
              " 0.30604407,\n",
              " 0.30599144,\n",
              " 0.3055131,\n",
              " 0.30755368,\n",
              " 0.3085501,\n",
              " 0.31899884,\n",
              " 0.30366182,\n",
              " 0.30526936,\n",
              " 0.2722965,\n",
              " 0.30008674,\n",
              " 0.3030512,\n",
              " 0.29814053,\n",
              " 0.3098862,\n",
              " 0.29696319,\n",
              " 0.3082022,\n",
              " 0.3210973,\n",
              " 0.30604452,\n",
              " 0.30604443,\n",
              " 0.30010286,\n",
              " 0.3063546,\n",
              " 0.30604452,\n",
              " 0.31205878,\n",
              " 0.2999983,\n",
              " 0.30487084,\n",
              " 0.30675396,\n",
              " 0.30604443,\n",
              " 0.3059366,\n",
              " 0.30604443,\n",
              " 0.3060489,\n",
              " 0.30604443,\n",
              " 0.31253946,\n",
              " 0.31470174,\n",
              " 0.24043348,\n",
              " 0.30208835,\n",
              " 0.32275903,\n",
              " 0.29588085,\n",
              " 0.30604443,\n",
              " 0.30604443,\n",
              " 0.3051011,\n",
              " 0.2838254,\n",
              " 0.30311126,\n",
              " 0.30924663,\n",
              " 0.30628556,\n",
              " 0.30609173,\n",
              " 0.27900156,\n",
              " 0.30678093,\n",
              " 0.30907327,\n",
              " 0.31932697,\n",
              " 0.30544922,\n",
              " 0.30479252,\n",
              " 0.30436784,\n",
              " 0.3020215,\n",
              " 0.30522543,\n",
              " 0.30603948,\n",
              " 0.27917346,\n",
              " 0.30893812,\n",
              " 0.30071044,\n",
              " 0.30455053,\n",
              " 0.29287398,\n",
              " 0.30604443,\n",
              " 0.30078292,\n",
              " 0.30245596,\n",
              " 0.30604443,\n",
              " 0.308683,\n",
              " 0.30294675,\n",
              " 0.3079987,\n",
              " 0.30904502,\n",
              " 0.31096044,\n",
              " 0.30039835,\n",
              " 0.30246434,\n",
              " 0.3079602,\n",
              " 0.30604312,\n",
              " 0.30604443,\n",
              " 0.30632868,\n",
              " 0.30859566,\n",
              " 0.30628896,\n",
              " 0.30604452,\n",
              " 0.30025685,\n",
              " 0.30604443,\n",
              " 0.27812594,\n",
              " 0.3060591,\n",
              " 0.30624038,\n",
              " 0.30430868,\n",
              " 0.31245863,\n",
              " 0.30055225,\n",
              " 0.3140127,\n",
              " 0.30979365,\n",
              " 0.30604443,\n",
              " 0.30604455,\n",
              " 0.30132693,\n",
              " 0.30564085,\n",
              " 0.2851104,\n",
              " 0.30604446,\n",
              " 0.30608428,\n",
              " 0.30236995,\n",
              " 0.3085246]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 147
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "qL62xvEit_Ux",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "7e318f4a-83d8-402d-84a3-7d262b25a27d"
      },
      "source": [
        "aero = pred_value\n",
        "aero = [aero]*256\n",
        "weight_ratio = []\n",
        "for i in range(256):\n",
        "  b = (float(aero[i]) - float(values[i]))/float(aero[i])\n",
        "  weight_ratio.append(b)\n",
        "weight_ratio"
      ],
      "execution_count": 148,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "[-0.02578735399705253,\n",
              " -0.02800711101277984,\n",
              " 0.004292179424532254,\n",
              " -4.86895594588136e-07,\n",
              " -0.022790901128838224,\n",
              " -4.86895594588136e-07,\n",
              " 0.031039788913231503,\n",
              " -5.842747135057632e-07,\n",
              " -0.0032549944289406068,\n",
              " 0.01457726458549312,\n",
              " -5.910912518299971e-05,\n",
              " 0.02032399590929797,\n",
              " 0.01336625786263351,\n",
              " 0.0026699406824835024,\n",
              " -0.055208896712110905,\n",
              " 0.00016106506268975538,\n",
              " -4.86895594588136e-07,\n",
              " -0.005844013063603561,\n",
              " -4.86895594588136e-07,\n",
              " 0.01033747512693855,\n",
              " -0.01255694000530911,\n",
              " 0.09439074851628305,\n",
              " -0.0011573508283359993,\n",
              " -4.86895594588136e-07,\n",
              " 0.005820155179468742,\n",
              " 0.0013276669073229292,\n",
              " -0.06044954875490085,\n",
              " 0.022384732823832798,\n",
              " -4.86895594588136e-07,\n",
              " -0.011688026127207122,\n",
              " 0.013500641046739835,\n",
              " 0.035778548977119996,\n",
              " -0.0008582995541399661,\n",
              " -0.03508929957342103,\n",
              " 0.007850801946258023,\n",
              " 0.031605366835905084,\n",
              " 0.02713508100287249,\n",
              " -4.86895594588136e-07,\n",
              " -0.0007523510727575878,\n",
              " -5.735630104248242e-05,\n",
              " -0.07899199368360083,\n",
              " 0.123143686200853,\n",
              " -4.86895594588136e-07,\n",
              " -0.027190392342417703,\n",
              " 0.022157060443803386,\n",
              " 5.842747135057632e-07,\n",
              " 0.08101144185171458,\n",
              " 0.01890742186640325,\n",
              " -4.86895594588136e-07,\n",
              " 0.02737142012448557,\n",
              " -0.001414431702278535,\n",
              " 0.0359039732822859,\n",
              " -0.01793772060022152,\n",
              " -4.86895594588136e-07,\n",
              " -3.895164756705088e-07,\n",
              " 0.0009666825134952852,\n",
              " 0.001924600906287984,\n",
              " -4.86895594588136e-07,\n",
              " 0.019134315213481322,\n",
              " 0.006761129605569774,\n",
              " -0.00905752398788526,\n",
              " 0.01932527566567879,\n",
              " 0.02305401950815365,\n",
              " -0.032461913565904534,\n",
              " 0.028604921423815155,\n",
              " -0.013127873779523158,\n",
              " -0.026737871576807487,\n",
              " 0.003898280888510452,\n",
              " -0.021256400972934252,\n",
              " -0.00025766514865604154,\n",
              " 0.0324810972523313,\n",
              " 0.04185792737114746,\n",
              " 0.012952007090757924,\n",
              " -4.86895594588136e-07,\n",
              " -4.86895594588136e-07,\n",
              " -0.005764162186091107,\n",
              " -4.86895594588136e-07,\n",
              " 0.02007957432081473,\n",
              " 0.001772299964300815,\n",
              " 0.015149269530015263,\n",
              " 0.022180528811462534,\n",
              " -0.0035359331870179612,\n",
              " -4.86895594588136e-07,\n",
              " -0.0045921071107985455,\n",
              " -0.00014577654101968792,\n",
              " -0.029890131035289997,\n",
              " -0.00021326027042960357,\n",
              " -0.010157908031654447,\n",
              " -0.016720676371989013,\n",
              " -4.86895594588136e-07,\n",
              " 0.010097046082330929,\n",
              " -4.86895594588136e-07,\n",
              " -4.86895594588136e-07,\n",
              " -0.0229830301304627,\n",
              " 0.034169651174362964,\n",
              " -0.022458059300377774,\n",
              " 0.043099024241752625,\n",
              " -5.842747135057632e-07,\n",
              " 0.05797086066197157,\n",
              " -0.020307441459081976,\n",
              " -0.0062973128621651156,\n",
              " 0.007677077598108976,\n",
              " 0.009361444218027173,\n",
              " -0.01615071638896414,\n",
              " -0.02841425310897444,\n",
              " -0.0013781092909222602,\n",
              " 0.007781857530064342,\n",
              " -0.004755411893223407,\n",
              " -0.02331665099187449,\n",
              " -0.020778269499048704,\n",
              " -4.86895594588136e-07,\n",
              " -0.03512620625949081,\n",
              " 0.011194898269008258,\n",
              " -0.013622754461862539,\n",
              " -4.86895594588136e-07,\n",
              " -0.015907755487264662,\n",
              " 0.06510193354030941,\n",
              " 0.020475323060095967,\n",
              " 9.73791189176272e-08,\n",
              " -3.895164756705088e-07,\n",
              " -0.041516808317579014,\n",
              " 5.297424069118919e-05,\n",
              " -9.73791189176272e-07,\n",
              " -0.025413807696884512,\n",
              " -0.005048230903808712,\n",
              " -4.86895594588136e-07,\n",
              " 0.010023330089310285,\n",
              " -0.08343092344034195,\n",
              " 0.044496998872934075,\n",
              " -3.895164756705088e-07,\n",
              " 0.026420026132660354,\n",
              " -0.0038017781816630835,\n",
              " 0.015131936046847925,\n",
              " 0.011125953852814579,\n",
              " -4.86895594588136e-07,\n",
              " 0.020260796861120433,\n",
              " -0.061341541484186315,\n",
              " 0.024339716015223084,\n",
              " 0.009276042730736414,\n",
              " 0.053371547496373115,\n",
              " 5.453230659387123e-06,\n",
              " -0.0037843473193768283,\n",
              " -4.86895594588136e-07,\n",
              " 0.06602450331293501,\n",
              " -4.86895594588136e-07,\n",
              " -0.02077914591111896,\n",
              " 0.06526699114687479,\n",
              " 0.0232349499111026,\n",
              " 0.001649017999751099,\n",
              " -0.00033459465260096704,\n",
              " 0.031037451814377483,\n",
              " 0.03300723663184325,\n",
              " 0.0016254522529730332,\n",
              " -0.08037993826553377,\n",
              " 0.023423670643564962,\n",
              " -0.00015736465617088556,\n",
              " -1.2659285459291536e-06,\n",
              " 0.010362014664905793,\n",
              " -0.024635651157613753,\n",
              " -0.027059904323068082,\n",
              " 6.816538324233904e-07,\n",
              " 0.00017265317784095303,\n",
              " 0.0017355880364688695,\n",
              " -0.004931960235821065,\n",
              " -0.008187733697713013,\n",
              " -0.042329047548470944,\n",
              " 0.007784681524512954,\n",
              " 0.0025320518500961424,\n",
              " 0.11027094571289403,\n",
              " 0.01946628062987151,\n",
              " 0.009779882292016217,\n",
              " 0.02582552661166824,\n",
              " -0.012553434357028074,\n",
              " 0.0296724887045091,\n",
              " -0.00705102724258755,\n",
              " -0.04918580344881783,\n",
              " -7.790329513410175e-07,\n",
              " -4.86895594588136e-07,\n",
              " 0.019413598526537075,\n",
              " -0.001014008765289252,\n",
              " -7.790329513410175e-07,\n",
              " -0.0196523721261231,\n",
              " 0.019755204475700113,\n",
              " 0.0038342054282626535,\n",
              " -0.0023188889587854563,\n",
              " -4.86895594588136e-07,\n",
              " 0.00035183075664938705,\n",
              " -4.86895594588136e-07,\n",
              " -1.5093763432232215e-05,\n",
              " -4.86895594588136e-07,\n",
              " -0.021222999935145506,\n",
              " -0.028288244529095032,\n",
              " 0.21438334380808055,\n",
              " 0.012926006866006916,\n",
              " -0.05461546836142688,\n",
              " 0.03320900616624057,\n",
              " -4.86895594588136e-07,\n",
              " -4.86895594588136e-07,\n",
              " 0.0030818543555050657,\n",
              " 0.07260022307608562,\n",
              " 0.009583663367397199,\n",
              " -0.010463678465055795,\n",
              " -0.0007883813467571098,\n",
              " -0.0001550275573168625,\n",
              " 0.08836210464321168,\n",
              " -0.002407017061405909,\n",
              " -0.009897224130311959,\n",
              " -0.043401191647754016,\n",
              " 0.0019443688674282622,\n",
              " 0.004090117752778177,\n",
              " 0.005477770197354365,\n",
              " 0.013144428229739154,\n",
              " 0.002675588671380725,\n",
              " 1.567803814573798e-05,\n",
              " 0.0878004218852948,\n",
              " -0.009455609826020518,\n",
              " 0.01742833042916341,\n",
              " 0.0048808361983893106,\n",
              " 0.043033974990315645,\n",
              " -4.86895594588136e-07,\n",
              " 0.01719150441195574,\n",
              " 0.011724835434157985,\n",
              " -4.86895594588136e-07,\n",
              " -0.00862204456808563,\n",
              " 0.0101211961038225,\n",
              " -0.006386025239499074,\n",
              " -0.009804908725578047,\n",
              " -0.016063562077532866,\n",
              " 0.0184480845624688,\n",
              " 0.011697471901742132,\n",
              " -0.006260308796976417,\n",
              " 3.797785637787461e-06,\n",
              " -4.86895594588136e-07,\n",
              " -0.0009292889318309164,\n",
              " -0.008336626370538065,\n",
              " -0.0007994825663137193,\n",
              " -7.790329513410175e-07,\n",
              " 0.018910440619089697,\n",
              " -4.86895594588136e-07,\n",
              " 0.09122320053613048,\n",
              " -4.839742210206072e-05,\n",
              " -0.000640754602477987,\n",
              " 0.005671067748405855,\n",
              " -0.0209589077646409,\n",
              " 0.017945218792378176,\n",
              " -0.02603683929971949,\n",
              " -0.012251072192788842,\n",
              " -4.86895594588136e-07,\n",
              " -8.764120702586448e-07,\n",
              " 0.015413945975233373,\n",
              " 0.0013182211327879194,\n",
              " 0.06840143022659537,\n",
              " -5.842747135057632e-07,\n",
              " -0.0001306827775874557,\n",
              " 0.012005871571354257,\n",
              " -0.008104474551038441]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 148
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "IflnEG6WvN7d",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "for i in range(256):\n",
        "  for  j in range(4):\n",
        "    for k in range(4):\n",
        "      last_layer_activation[0][j][k][i]=last_layer_activation[0][j][k][i]*weight_ratio[i]\n",
        "      if (last_layer_activation[0][j][k][i]< 0 ):\n",
        "        last_layer_activation[0][j][k][i] = 0"
      ],
      "execution_count": 154,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Jov2dfjCvXfT",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 286
        },
        "outputId": "bd328739-963d-450e-f237-35f474c5df59"
      },
      "source": [
        "heatmap = np.mean(last_layer_activation, axis=-1)\n",
        "heatmap = np.maximum(heatmap, 0) / np.max(heatmap)\n",
        "plt.imshow(heatmap[0])"
      ],
      "execution_count": 155,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7f5347c429e8>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 155
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQcAAAD8CAYAAAB6iWHJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAANQ0lEQVR4nO3df+hd9X3H8efLJP7+WS0YYtQWpVuxmz9CpghDtDJ1RQe1TP9otSgZpa52rGztBo71L7s/7OgsHUFl2pVq0c5lxdFlaLFl05mGaP0xbSYUk0qt0UZTf+1r3/vjnriv336+RnPPPffGPB9wybn3fPJ9vy/KK/d7zrnnnapCkhbaZ9oNSJpNhoOkJsNBUpPhIKnJcJDUZDhIahorHJK8J8n6JD/u/jxikXWvJ9nUPdaNU1PSMDLOdQ5J/gZ4rqquTfJ54Iiq+vPGuh1VdfAYfUoa2Ljh8DhwVlU9nWQ58L2q+kBjneEg7WHGDYdfVNXh3XaA53c+X7BuDtgEzAHXVtWdi/y8NcAagCUsOe3AHLrbvc2qV485aNotTMyxhz077RYm4mePHDDtFibmxXr+2ap6b2vf0l395ST/Dhzd2PWX859UVSVZLGmOq6qtSd4P3J3kR1X1PwsXVdVaYC3Aofu8p05f+nu7am+P88SfnTbtFibmugtunnYLE/F3v3HStFuYmPX/e+tPFtu3y3Coqg8vti/Jz5Isn/drxTOL/Iyt3Z9PJvkecArwa+EgaXaMeypzHXBZt30Z8M8LFyQ5Isl+3fZRwJnAo2PWlTRh44bDtcC5SX4MfLh7TpJVSW7o1vwmsCHJg8A9jI45GA7SjNvlrxVvpaq2Aec0Xt8AXNlt/wfwoXHqSBqeV0hKajIcJDUZDpKaDAdJTYaDpCbDQVKT4SCpyXCQ1GQ4SGoyHCQ1GQ6SmgwHSU2Gg6Qmw0FSk+EgqclwkNRkOEhqMhwkNfUSDknOS/J4ks3d5KuF+/dLclu3//4kx/dRV9LkjB0OSZYAXwXOBz4IXJrkgwuWXcFo4M0JwJeBL41bV9Jk9fHJYTWwuaqerKrXgFuBixasuQjYOfHkduCcbkKWpBnVRzisAJ6a93xL91pzTVXNAduBI3uoLWlCxro1fd/mz8rcnwOn3I20d+vjk8NWYOW858d0rzXXJFkKHAZsW/iDqmptVa2qqlXLRkOyJE1JH+HwAHBikvcl2Re4hNGYvPnmj827GLi7xhnvLWnixv61oqrmklwFfBdYAtxUVY8k+SKwoarWATcCX0+yGXiOUYBImmG9HHOoqruAuxa8ds287VeAj/VRS9IwvEJSUpPhIKnJcJDUZDhIajIcJDUZDpKaDAdJTYaDpCbDQVKT4SCpyXCQ1GQ4SGoyHCQ1GQ6SmgwHSU2Gg6Qmw0FSk+EgqclwkNQ01KzMy5P8PMmm7nFlH3UlTc7YN5idNyvzXEbTrh5Isq6qHl2w9LaqumrcepKG0cfdp9+YlQmQZOeszIXh8I5kv/3Y5/jjx+9uxqw6dfO0W5iY3z/wlWm3MBF/e8aHpt3C5Nx766K7hpqVCfDRJA8luT3JysZ+kqxJsiHJhtfmXuqhNUm7a6gDkv8CHF9VvwWs5/8nbr/J/HF4+y51VqY0TYPMyqyqbVX1avf0BuC0HupKmqBBZmUmWT7v6YXAYz3UlTRBQ83K/EySC4E5RrMyLx+3rqTJGmpW5heAL/RRS9IwvEJSUpPhIKnJcJDUZDhIajIcJDUZDpKaDAdJTYaDpCbDQVKT4SCpyXCQ1GQ4SGoyHCQ1GQ6SmgwHSU2Gg6Qmw0FSk+EgqamvcXg3JXkmycOL7E+Sr3Tj8h5KcmofdSVNTl+fHP4BOO8t9p8PnNg91gBf66mupAnpJRyq6l5Gd5VezEXALTVyH3D4gtvVS5oxQx1zeFsj8xyHJ82OmTog6Tg8aXYMFQ67HJknabYMFQ7rgE90Zy1OB7ZX1dMD1Za0G3qZeJXkm8BZwFFJtgB/BSwDqKq/ZzQN6wJgM/AS8Mk+6kqanL7G4V26i/0FfLqPWpKGMVMHJCXNDsNBUpPhIKnJcJDUZDhIajIcJDUZDpKaDAdJTYaDpCbDQVKT4SCpyXCQ1GQ4SGoyHCQ1GQ6SmgwHSU2Gg6Qmw0FS01Dj8M5Ksj3Jpu5xTR91JU1OL/eQZDQO73rglrdY8/2q+khP9SRN2FDj8CTtYfr65PB2nJHkQeCnwOeq6pGFC5KsYTRol/2XHjpga8N5+roTpt3CxJy77dhptzARSzc+Me0WpmKocNgIHFdVO5JcANzJaOL2m1TVWmAtwGEHLK+BepPUMMjZiqp6oap2dNt3AcuSHDVEbUm7Z5BwSHJ0knTbq7u624aoLWn3DDUO72LgU0nmgJeBS7opWJJm1FDj8K5ndKpT0h7CKyQlNRkOkpoMB0lNhoOkJsNBUpPhIKnJcJDUZDhIajIcJDUZDpKaDAdJTYaDpCbDQVKT4SCpyXCQ1GQ4SGoyHCQ1GQ6SmsYOhyQrk9yT5NEkjyS5urEmSb6SZHOSh5KcOm5dSZPVxz0k54A/raqNSQ4BfphkfVU9Om/N+YzmVJwI/A7wte5PSTNq7E8OVfV0VW3stl8EHgNWLFh2EXBLjdwHHJ5k+bi1JU1Or8cckhwPnALcv2DXCuCpec+38OsBQpI1STYk2fDa3Et9tibpHeotHJIcDNwBfLaqXtidn1FVa6tqVVWt2nfpgX21Jmk39BIOSZYxCoZvVNW3G0u2AivnPT+me03SjOrjbEWAG4HHquq6RZatAz7RnbU4HdheVU+PW1vS5PRxtuJM4OPAj5Js6l77C+BYeGMc3l3ABcBm4CXgkz3UlTRBY4dDVf0AyC7WFPDpcWtJGo5XSEpqMhwkNRkOkpoMB0lNhoOkJsNBUpPhIKnJcJDUZDhIajIcJDUZDpKaDAdJTYaDpCbDQVKT4SCpyXCQ1GQ4SGoyHCQ1DTUO76wk25Ns6h7XjFtX0mQNNQ4P4PtV9ZEe6kkawFDj8CTtYfr45PCGtxiHB3BGkgeBnwKfq6pHGn9/DbAGYP8cRP1kS5/tzYRDfvWrabcwOfu8Ow9hvf7LX067hanoLRx2MQ5vI3BcVe1IcgFwJ6OJ229SVWuBtQCH7XNk9dWbpHdukHF4VfVCVe3otu8CliU5qo/akiZjkHF4SY7u1pFkdVd327i1JU3OUOPwLgY+lWQOeBm4pJuCJWlGDTUO73rg+nFrSRrOu/PwsqSxGQ6SmgwHSU2Gg6Qmw0FSk+EgqclwkNRkOEhqMhwkNRkOkpoMB0lNhoOkJsNBUpPhIKnJcJDUZDhIajIcJDUZDpKa+rjB7P5J/ivJg904vL9urNkvyW1JNie5v5tvIWmG9fHJ4VXg7Kr6beBk4Lwkpy9YcwXwfFWdAHwZ+FIPdSVNUB/j8GrnTApgWfdYeGfpi4Cbu+3bgXN23qpe0mzqa6jNku629M8A66tq4Ti8FcBTAFU1B2wHjuyjtqTJ6CUcqur1qjoZOAZYneSk3fk5SdYk2ZBkw2u82kdrknZTr2crquoXwD3AeQt2bQVWAiRZChxGY+JVVa2tqlVVtWpf9uuzNUnvUB9nK96b5PBu+wDgXOC/FyxbB1zWbV8M3O3EK2m29TEObzlwc5IljMLmW1X1nSRfBDZU1TpGszS/nmQz8BxwSQ91JU1QH+PwHgJOabx+zbztV4CPjVtL0nC8QlJSk+EgqclwkNRkOEhqMhwkNRkOkpoMB0lNhoOkJsNBUpPhIKnJcJDUZDhIajIcJDUZDpKaDAdJTYaDpCbDQVKT4SCpyXCQ1DTUrMzLk/w8yabuceW4dSVNVh93n945K3NHkmXAD5L8a1Xdt2DdbVV1VQ/1JA2gj7tPF7CrWZmS9jB9fHKgm1nxQ+AE4KuNWZkAH03yu8ATwJ9U1VONn7MGWNM93fFvL//j43309zYdBTw78SpPTLzCQsO8r+G9W98XDPvejltsR/ocPNVNvvon4I+r6uF5rx8J7KiqV5P8EfCHVXV2b4V7kGRDVa2adh99833teWblvQ0yK7OqtlXVzsm4NwCn9VlXUv8GmZWZZPm8pxcCj41bV9JkDTUr8zNJLgTmGM3KvLyHun1bO+0GJsT3teeZiffW6zEHSe8eXiEpqclwkNS014dDkvOSPJ5kc5LPT7ufviS5KckzSR7e9eo9R5KVSe5J8mh3uf7V0+6pD2/nawiD97Q3H3PoDqI+wegMyxbgAeDSqnp0qo31oLvgbAdwS1WdNO1++tKd+VpeVRuTHMLo4rs/2NP/myUJcND8ryEAVze+hjCYvf2Tw2pgc1U9WVWvAbcCF025p15U1b2Mzgy9q1TV01W1sdt+kdFp8RXT7Wp8NTJTX0PY28NhBTD/Mu4tvAv+R9tbJDkeOAVoXa6/x0myJMkm4Blg/SJfQxjM3h4O2kMlORi4A/hsVb0w7X76UFWvV9XJwDHA6iRT/XVwbw+HrcDKec+P6V7TDOt+J78D+EZVfXva/fRtsa8hDG1vD4cHgBOTvC/JvsAlwLop96S30B24uxF4rKqum3Y/fXk7X0MY2l4dDlU1B1wFfJfRga1vVdUj0+2qH0m+Cfwn8IEkW5JcMe2eenIm8HHg7Hl3Frtg2k31YDlwT5KHGP2jtb6qvjPNhvbqU5mSFrdXf3KQtDjDQVKT4SCpyXCQ1GQ4SGoyHCQ1GQ6Smv4PAW4OTrXIJOkAAAAASUVORK5CYII=\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "BUtFEFfPvaQu",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "d8faa3db-a820-46eb-8a38-e4e38f9cc5f5"
      },
      "source": [
        "heatmap=heatmap[0,:,:,]\n",
        "heatmap.shape"
      ],
      "execution_count": 156,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(4, 4)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 156
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "MOyTHA08vcoo",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 619
        },
        "outputId": "42ad0ab6-050d-4861-c5f6-7a6bc6ae7ba1"
      },
      "source": [
        "img = keras.preprocessing.image.load_img('b.jpg')\n",
        "img = keras.preprocessing.image.img_to_array(img)\n",
        "heatmap = np.uint8(255 * heatmap)\n",
        "jet = cm.get_cmap(\"jet\")\n",
        "jet_colors = jet(np.arange(256))[:, :3]\n",
        "jet_heatmap = jet_colors[heatmap]\n",
        "jet_heatmap = keras.preprocessing.image.array_to_img(jet_heatmap)\n",
        "jet_heatmap = jet_heatmap.resize((img.shape[1], img.shape[0]))\n",
        "jet_heatmap = keras.preprocessing.image.img_to_array(jet_heatmap)\n",
        "superimposed_img = jet_heatmap  + img\n",
        "superimposed_img = keras.preprocessing.image.array_to_img(superimposed_img)\n",
        "save_path = \"final_image_dog.jpg\"\n",
        "superimposed_img.save(save_path)\n",
        "display(Image(save_path))"
      ],
      "execution_count": 157,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAJaBLADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDnKBRSd6+sOQUUtJS0AApaKKAFpRSUooABS0lOoAKMUlLQAUUtGKAExRilx70YoCwUtFLigQU7FJThUsQopRSAU4CoYDhThTRThWbAeKeKYKeKhiHCnimCnismA8U8U0U8VmxDhTxTRThWMgHinimingVjIQ8U8UxaeKxkIkFPFMFPFZSEPFSCoxTxWEhEgpwpopwrGQDxUgqMVItYSAeKeKatPArGQhwp4pop4rGQDhThTRThWTGOFLQKWsmNCUtGKKhlIKKMUveoZSClooqWUgpaKKllBS0CipZSCkNLSGpKQhptOpppWNEIaaacaaaDRDDTTTjTTQaoaaaaeaYaZqhpppp5phoNUNIpppxppqjZDTTDTzTTVI1Qw00040w1aNENNMNPNNNUi0MNMIp5phq0aIYaYakNMNUi0MNNIp5FMNWi0NNNpxpuKpFIbTcU4000y0NpDTqbTGJSU4001SGJSGloq0JjaMUtFaIliYoNFJWqIYlIaWitEQxKbTqStUZsaaDS0GtYmbG0lKaStUZMaabTjSGtUZMaaKDSVqjJiGkNLSGtUZMSkpaStEZsQ0UGitUZsSkp2KTFaJEMTFFLikrRGbExSYp1Ia0RLG0UtJWiIYhpKWiqRDEpppTSVRIYoopaYhKXFApcUDG0YpaTFAwpMUuKKAEopaMUANopaSkAlJTqSgLiYoxS0tMBKSnUYoC5DRS0UyQFLRRQAUCgUtABS0ClFABS0UooASjFGKWgBaMUUtACYpcUUUAApaKWkAU4U0U4VLELThSUoqGAopwpBThUMQ4U8UwU8VmwHg09aYKeKzYDxThTBUg61kxDxTwKYKeKxkIeBTxTBUgrGQDhTxTBTxWUhEgpwpop4rCQrDgakFRipBWMgHipBUYp4rGQrEi09aYKkFYyEPFSCmCnisZAOFPFMFSCsJAKKcKQU4VlIBRTqbTqyYwpaBRUMpBS0ClqWUhKWilqWUgopaMVLKQlLRiipZSEpCKcabUloSmmnGmmgtCGmGnGkNBqhppppTSGg1iNNNNONNNBqhpphpxpppmqGmmmnGmmmaoaaaaU0hqkaoYaaaeaYatGqGGmGnmmmrRaGGmGnmmGqRaGmmGnmmmrRaGGmmnmmGqRaGmmmnHrTTVFoaaaacabTKQ2m06m00UhKSloq0AhpDSmkNWhMSkpTSZq0SwpKKDWqIYlJS5pM1ojNhSdqM0VqjNiUUZpCa1iZsQ0lKaStUZsbTTTqaa2iZMQ0hpTTTWkTJiUUGg1qjJiUlKaStEZsKMUUVqjNiGilpK1RDEopaStEZsSkNLSGrRDEpDS0VaIYlNNPNNq0QxKSlNJVEhRRS5oC4lFGaKYXClpBRQO4UlLRQAlFFFAXCkopKBXDNJS0lAXClFFFAXCkNOpKYrkdGKWjFAxKMUtFAC0YoFLQIKUCiloASgUCloGLRRS0AJSikooAWiiigBaWmilpCHU4U0UtSwHCnCminCoYhRThSUoqGMdThTRThWbEPBp4pi09ayYDxTxTBTxWTAkFPFRinispCJBTxUYqQVjIRIKcKaKcKxkBIKeKYKeKxkIeKetMFPWsWIeKkFRipBWMgJBTxUYqQVjICQU8UwU8VhIB4p4pgpwrGQiQUopopwrJgOFLTRSismMcKWkFFZspC0tIKWpZSFFFFFJlIWiiioY0AoooqSkFIaM0UGiGmkNKaaaRokIaYRTjSGg0Qw0004000GqGmmmnE0w0zVCGmmlNIaZqhpphpxpDTNEMPWkIpSKMVSNYjDTDUxiY9BQkDNnitFFmqKxppFaAtPWl+yJjrWips0SMs0w1qm0SmNaoR6Vaps0UTLPFNNaBsh61C9k4GRzVcjLsUzTDU7wSIDlTULAg8iixQw000402mUhppppxphplISkNKaQ0yhDTTS001SAM0hNBNJVolsSijNJmtESxc0hPFFIa1RDDNJmijNaozYZpM0ZpM1oiGLSUUlaozYlIaWkNbIyYhppp2aaa1RlIbSGlpK0RkxKQ0tJWqM2JRRS1rEyYlL2pKWtkZsSiiitEZtjaQ040hq0Q2JSUUVaM2xDRRRVohsDTadTatEMSilppqybi0lLSUguFBoooC4UUUUBcM0lGaKYBSYpaKQXEpKMUUCENFLRQAUUCimAUdaWkpgMpaSloLEooooAWgUgpwoAWlxSUtABRSZpaAFoopM0DFopKWgBaKKKRIoopKUUgHClFIKcKTFcUU4UlKKhgOFLSClqGFxwpwpopwrJgPFPFMFPFZsB608U0U8VkwHAU8U0U8VlIQ9aeKYKeKxkA9akFRinisZCJBT1pgpwrGQEgp4qMVItYyESLTxTFp4rGQh4qRajWnisZASinioxTwawkA8U4U0UorGQEgNKDTQaXNZMB4pwpgpwrJjHilpBS1DKQUtJRUMYtLmm0tSykLRSUVLKQ6kzTc0ZqS0OzSZpuaM0FoCaaaCaQmkaIDTTQTTSaDVCE00mgmmk0GiAmmGlJpCaZqhDSAbjgUoXcetWYosc96tK5rFXIfsz8elDWxxVoNTxg1ooo3USiltyQamW3UdasEAU0nNaqKRrFDNijoKQmlP1qNiPWrNYoCaYSBSEnrUbe9NM1SHFuaTdUTZxUTMQfaqTNEixkU0tVfzTnFIZT0zVqRSRMxBzULwo46c0pfjrSF6u5dilNaFfu81VeNlJBFa++opI1kBOOaXKugcpkGmmp54TEeagNRawCU2nU3NMBDTaU02mgA03NLmmk1oiWBpKM0VaJYUUmaM1qjNhSUZorVEMSiiitEQxM0UUlaozbA000ppDWsTJsQ02lJppNaoykITSGikNaoyYUlFFaozYUUUVrEybFpKWkrVGbCiikrVMzYGkNLTatMzYlFFFWjNsSkpaKtEMTFIadSYq0SxKMUYoqiLiUlLSUrgFBpaDRcBKKKDSuAlFLSU7gJRR3ozRcApKWigBKKWjvRcBKM0UUXAKKKKdwIqWiiqNBaM0lLQIKWiigdx1FJRQIWlpKM0DFopKWgVxaXFNpaAuLRRilpCuFLSUUhXHCnCmgU8CkxCiloFOFSwuFOFNp1ZsLiing0wU4VmwuPFSCoxTxWTC48VIKjFPBrJgSCniowaeDWUgJBThUYNPU1jICQU8VGKkFZSESCnioxTxWMgHg1IpqMVIKwkBIpp4qMVIKxkA8U9TUYqQVhIRIDTxUQp4NYyAkFOBqMGnA1jIZIDS5pgNOBrKQ7EgNOFMBpQazYWJAacDTAaUGs2VYdmjNIDRmoYxaM0maTNQ2NDs0ZpuaTNSUh26k3UwmjNTctD80E0zNGaDRCk0maTNITTNEBNNJoJppNBogJphNBNNJpGiFJoUbmApvWrEMY6nirSuaxVyeOIAD1p5T0NN3gU0ymttDqih3l570/hR1qIy4WoWkJPFUmapEzOB3qF5P/11E8u3O7P1qBpRzhs/Wnc1iiYzE8d6j8zJIPBquX54xSmUEYJH/fVNM1SJy/FRmTBqLcf4WqORyBmqRoiz5gIprDIqgbnBqxHLvXrVJmiFcd6hZsH60925qu0gzz2qjSJIJOeTS7+aqlwDnNPEmRVJl2LG73pytk1ADnNKGKn2q0wsF0m9fpWa2FPI5rXOHT61mTxkMe1VJdSJEBPsKaT7UpA9RTTWZNxCQaaaCaaTxVCuFJmg02qQhc0ZptGa0RDFopM0ZrSJDCikorVEMM0ZpKTNaozYuaTNFJWyM2ITSUGkrRGTENITQaaa0RmwzQaTNJmtEzJi0lFJmtYsyYoNLTaM1tFmTY7NJmjNJmtEzNi5ozSUma0TM2BNJRRVpmbCkooq0yGFFFFaJkMKKKSrTIYUUUVVybiGkpSKSi4BQaKKQDTRSmkqbiCiiincYlLRS07gJRS0UXC4lJTsUlACUlLSUrgFFFFO4EVGKKK0uULS0YoouO4tFFAp3C4UtFFILhRRRii4hetKKQUtAC0CgUooAKWiikIWgCinAUCFApwpKWkxDhS00U4VDAWlpBS1mwFFOFIKcKzYxRUgpg608Vk2A4VIDUYp4rJsB4p4qMU8GspMCQU4UwGnispASCnioxT1rGTAkFPBqMU8VjJgSinioxTxWEmBItSA1EDTwaxkFiUGng1EDTgaxkwsSg04GowafmsZDsPBp4qMGnA1iwsSZpQaZmlBrKQ7EoNOBqMGnA1kyrDwacDTAaM1mwsSZ4ozTAaXNQ2VYcTSZpuaTNZtjSHZxSE00mkzUMpIdmkzTc0ZpFpDs0ZpuaM00WkOzSE0maSqNEgNNNKTTSaDRIaTTc0pB/CnxwvIeKEmzWKFhTLcmrhAA4NOS3VEGRzTXFbJWOinEhd9tRG4C+1LIhPSqUse3Oaep0xRJLdEnANRrO+MEriq4kjXqaPOhOdrAn3oRqkSuwIOGqqzYPFNfcTypx7GoyyLwq8+9UaIeZXHfH503zc9SD9RimmT5eTgfrUIbce5qkaIt+ftHJWq8112BzjtQIs9sVHLavkurhTV2LRTmvQgOOTU9nfA8E8H7tZV8LmIk/KyjuKoQXDpIG3HrVpGh2hkEnIqtJ1NVra43KKtE5xVlRIX5AqSJuBn6U7yty0zbsIxQkaJllDkUMw55piNxTX5BrRATRyDOM1HdJxmqa3CWszNJ93FTm7huo/3bhvpzVIGii3WmZp8y7T1zUJNZswYpNNJpCaQmgQpNNpCaSqQmLmjNNzS1oiGOzRTaWtUS2LmkzSE0ma1Rmxc0lJmjNaxM2xc0hozSGtUZtiGkozSGtEZNiGmmlNNNWjJsM0lBpK0Rk2LSUUVqmZthmlpvelrWLMmxc0lFJWiZm2FFFFaJmbYUUUVaZm2FJ2paKtMzbG0UppO9aJkNhRRRVpkthQKKUVVybgRTcU+m4p3FcTFJTqMVNwuNNJinGkpXC4lJinUUXHcQClxRinYp3C42jFLijFO4XG4oxS0hpXFcbijFOxSUXHcbilxRTsU7hcr0oFFKKsu4uKMUtFO4CUtLiii4CUUtJQFxKWigUgFpcUgpadwFpRSUoouAtFFFK4hRTxTQKdRcQtLSUtJsQopRSUoqGwHUtNp4rNjFFOptLUSAdTwaYKcKxkxjwacDUYp4rJsCQGnA81GKkFZSY7Egp4qMVIKykwsPFPFRipBWMh2HinimCnisZBYetSCoxT1rGTCxIDTwaiFPFYSY7EgNPBqIVIKxYWHg08VGKeKykOxIKcDUeadmspDsPBpwqMGnVhJjsPBpwNR0uaybHYlBpc1GDS5rNsdiTPFGaZmlrNsdh2aTNJSE1DKSFJ4pM0hNNzUsaQueaM03NGaRaQ/NFNzRmqRokOzRmm5ozzimaJEiAE8nFW0gjK8jIqouF71YSXHNaxNoRJvIiByBThsUYAAqu0/oajM/uKu50RgWnbIqtJKo71G1yAtZ9xfkZxik5G0IEz3WH+U0FhKvG1TWNPfM3VBj1zinWd2XfaZMDsuKIu5tyFt7ffywb86i8oKcAZ9z2qe4uzt4Qj8KpiYFSdu5vVu1XoUkNnfHBAx6YqoXdzhQfwqZ2aQndgCoZJQF2oDg9/WmaoY2QecZq1CgC5OKobyGAz17CpJrpIY+ueOTmtIoouzXiQR/eUHsK43V/EU883k2j7QOC46mm6heyXs/wBnjON3U+i1lJGkL4lODnn2reMb7he2xaWw1GW1N0lyrtux5Yk+f64qtHfOeG4cfrTkk2sxErKOqkdjUCwy3dy7Rpkls57VrZDTZ0OlahuXk810kMwkUEVzOlWu0lQAT3b1rpIFEQCgjArJnSi6mNtK0YIqNZQfSpg2euKaKItmKXZkc1IXFMMyfjVpBcrXFok8bI6ggjFVbDT1sSY4ywjPIU9qvyXAWqrXwBwWGapIdxt0mOcGqJ4q01+kgwyg1EY0kGUbDehpSg3sZSiQE03NOZWVsEc0w8VnYzDNJmkzRmqRLFzRSUZq0Q2OzRmm5orZEtik0hNJmitUZthmikzRmtImbYtFJRmtkZthTTS9qStEZNiGmmnGmmrRk2JSUtFWjJsaaKU0laIybAUtIKditYszbEpKdikxWiMmxKKXFGK0TM2xKMUUtWmZtiUUtFWmQ2NpKdijFWmQ2N4pcUYpRVJkNiYpaXFLirTJuJSYp2KMUXC43FJTsUGlcVxmKTFPxSYpXC42jFOxS4p3C40CnYpaKoLjcUYp2KMUXC4wikxTyKTFK4XG0lPxSdaLjuMxzS0uKWmFytS0YpQK0NRRRQKWlcYCkNOHSjFFwG0YpcUYp3CwlJTsUYpXCwUYpcUtK4CCnYoApaLjsFGKXFKBRcQUooxS0XEwpaKKLiFpRTRThWbYCinimgU8VDYxRThQBS4rNgApwFJinVlJjAU8U0U4VjJjHAU8U0U8Vk2Ow4U8U0CngVnJhYetPFMFPFYyGPFOFNFOFYyCw8Gng1GDThWMmOxIKetRipAaxY7EgpwNMBpwrGQ7Egp1NFOFZSHyjhS0lFYyHYeKUGmZpaxkOw8GlzTM0ZrCTHYkBpwNMpQazbK5R4p1NFL2pFKI7NNzRmkzUsrlAmmmlJppqWNRDNGaTvRUlqItLmm0ZqikhSaVGOcUwmnK2OlNGiRaQD1H5U5iqioN7Ef4UjNgc1qmdMIjZJKrF2PT9KJpu1VzKFU/Nz9KR0xiNuJmUferMa4XzOXY/hxT7q43HGaz3cdyOam12bxVkTXEiP0/SmaeY1uctu/OoPMRScPUlkGaRmVW47npW0VYGac84dwqg0kjeWoGOfSkRUjy7DL9sc1XnkAOSeaqxSQOxJ5NVpHYnGc/WoJLkgkA1VaaRjwDTRokXWnCrkkVlX1086lYxxUpVmzuqSONVI4rWJZkQWc6yeYoYE8HirR0tLjJlDlv9mtgMu3mni6WMbYwM+uK2TYkkZkOhwR4YwH13SHP6VdW0ULx0qQTNKefmx09zVhUZlOT1p6s0WhVt4trF9uBnirIYjgt+dJKwgTAUHHrVZbh2PP5LUmiL6SgDA4H86lF0o6HJrMMpL9ORUokV/lCEZ/i28VSKLf2zfnnHsajW7iDdeaqyukPuayLzUY43yOK0QzQ1XUhCg2HBPvXPvqjB87iT3rOv9QNxJw5O31rMmuM966IxsZOR0w1lEyGYnJ7dqlHiGERtsHT35rimlOetSLKxXBqyTtYNcSQhXbCntWkcdjkV5u0rLtANd/oyyT+H7WdySxUjP0NY1YX1FJE9LTfajNYoybHZpM0UlWiGxaKSjNaohsUmkzSUVaM2wzRSUma1izNsdmjNJRW0WZNi596TNFFaIzbCm06krRGTYlJS0tWjJsbRilpcVojJjcUCn4pMVaM2xMUYpcUuK0TMmxuKTFPxRitUZtjMUYp+KMVojNsbijFPxSYqkQ2NxRinYpcVaIbGYpMU/FLiqRDYzFLTttG2qJuNxRinYoxSuK4zFJTyKTFK4XG4pKfikpXC4mKMUuKXFVcVxuKXFLjmlxTuFxuKCKdikxRcLjCKTFPIpMUrhcbijFOxRii4+YbijFLijFVcLlUUtKaBV3OkWjFFL2pFAOlLigClxTAbS4pcUuKAGYpcU7FGKQxtFOxRigQlFOxS44oGIKUCgU4Ci4hMUtLijFAmJRS4oxUskBThSAU4CoYxwp4poFPAqWMUCnAUU4CokOwmKWloArGQAKcKQCnCsGUKKeKaKcKzbGSCnrTB0p4rKTAeBThTRThWUmMcKcKSlFYyY7DxThTRThWMh2HL1qQVGKeKyY0iQU8dKjFSCsWUojxT6YKdnFZSK5Rc0uaZmnCsJMfKOpabmjNYyK5R2aXNMzTgawkNRHg9KcDTAacKgpRJBS5poPFFBSiOzTSaM0lSyuUWmmgmkJqWUohmikzzRSKURaTNJQTTKUQJpVYbuaZmlDYpouKLIk46VVml61Iz4Xnis65m4PJrS5104EU0/zcHpUZlyneq0knOD1PNDN8pwfrSOhRKtzJ82SM1Sklx90BR7mluZgjE7sms1pGlmCnOT+lXCJbLAmVnwDufOPatyAJbwBR35NZemQZkL/dQcn39K0ZBk98VqxIJLxsELxVGRndid1TsCOi0zaW6rQkaIgWAM2Sc1MtuB0JqVF7YqVVAPStEhlcw5H3RTDEKuPjPXJ9MVGUj7j5vrVopIqmOmCBmzjp3NaKWyuen4VehgSMZYLWqHYoWNk+QXG1RVyUpEu1QBT5plVeDism7uwFPIzTbLiiC6nyx649arh2wfU+lIdxO5yFz0DU4xYAHmqCevBpJGo+NVPzSbj7VI1wijI3KvoBVWaVIyBuLEddoxUTSuPu8A/3qtILkrsZTndx71RltobncrN83pTzPgkAhjShlX524x2zVxVgbOWvrNoJOp4PFZz7s8j8q6jUXW4ViAgJGBtX/HpXPyR7TjnnpxXQjJlPYx5xS9BwacxZeDnFR9qoVy5ZWq3ciqZFRgf4u9em6L5L6OkMShUjyo9/evLLdJGlVUBzmvU9FYJp0UYP3RikxXIJ4nR8bTUFaF9uDZBH41RL5+9/jXNJamUtGNozQw9KbmmkZNi5pabmjNWiGxaKKSrRm2Boo60VpEzbFopM0VtFmTYtFANFaxZm2FGKKWtEZNiYoxS4oxWiM2xKMUuKUVaMmxMUYp2KTFWmYtiYpcUoFLitEzNsbijFOxSgVrFmbY3FGKdijFXczbG4pNtPxRirTIbGYpQKdilAqkzNsbijFOxS4q0yWxmOKMU8CjFUTcZijFPxSYqbk3GYpCKkxTcVNwuNxSYqTFGKLhcjxRin4oxRcVxuKMU7FGKdwuMoxTsUYouFxmKXbT9tLilcoixSYqUrTcVVxXGYpMVJijFK4rlLFHSlxS4rc7hBThQBS4oGAFLinAUuKChuKMU/FGKAG4o20/FG2gQzFGKfijFAXGYoxTsUYpAGKMU4CjFFxCYoxS0UXExKWilFSwAU4CgU4VLGKKeKaBTxUMYtKKMU6s2wClxRRWMguLilxSUorGQ0KKetMFPFZSGSCnjpUYp4rJsoeKcKYKcKykxokFOpgNOBrGTKSHjilBpuaUGsZMuxIKeDUQp4NYtjSJAakBqIGnA1k2WkTA0ZpganCsZMtIdSim0ZrFjsPzQKbmlBrKQ+UdThTKcDWDKUR4pwNMzSg1DZSiSA0uaZmjdSuUoj80mabmm7qTZSiOzSE03dSZpXKUR2aM03NGaRSiLmgmm5pM0ylEdQuM03NJuNCNEhZmwprJuJck5PA9KtXc+AQDWNPLkda1SudkIgjmWc1JdN5MO0H5j1ptgnDSHp1qteymRyaqxpFGdM2PmYmoFUBt7dSCVX/GickuFHNPU5bcpxjitooGjYswEtwT97vRJIR2qOJz5Sj0FMaT5qbQ0h6sW6ipBnPpUYJ64/OnA5PJFNIqxLuHAIFO8rd/F+AqEsgPYmlUZ77R9atIaRN5aqNxOPr/hT0SLPHJ7mkSGPht2T7ikkkRRtz+VWkWSeYq9CahmuyOhqF7hAuEFU5JM96oaRJNdM3Q8VTaV92Y+f9qldhtxnmmK69G5+nFNItEiZjXeWXeec+lRNKQpZAzN/epzOkjfKAx6Dj+lBkXbl8HHH+z/n6VaQ7lXzQByT6nNQyXQOD0B6dTmrLzKVyFVV7HaM/gKqvPydvy579/zrRIVyJ5ex/KmmUFSD0FLI6RIOm9+/tVUvuVz17CrSC424nDJgA46VmSkg5AI9DVuZiVwvRaqSkEr1yFrREMgBAyG//VSXEOGZlGOfu+lSyIPOIHTjP5VIGZIxFgckHOPmH0qyLljTgY2BRirY54rtNLn/AHQBXH06VxVnuVt5wfm4+ldXprrgcYI9Klhc3rhl8ncV3VnEQyfdGD7VfbDwVlSJsfjNYz3ImxxQr0O4Uw0ok3dTz2agnJ5FCsYtjaKDSU0Zti5opM0Zq0ZNi0ZpKKtGbYtLmkoNaxMmxaWkFLWsTJsWlpBThWqM2wxRilorRGbY3FLilxRVoxbDFGKXFGKpGTYAUooAp2KtMzbEAoxThRWiZk2JijFOxRirUjNsbijFOxS4q1IzbGYpcUuKUCqTIbG7aMVJikxWiZLY3FGKfikxTuTcbikxUgFJipuTcYRTcVLikIouFyMClxTsUYouK4zFGKfijFFx3GEUmKkIpMUriuMxQBTwKXFFwTG4pMU/FLipua3I8UhFSYpCKpMlsjxRin4o202zO5QApcU7FLium56Q3FKBTsU4CkMbinAUYpadx3ExS45p2KMU7hcTFGKcBS4pXFcZikxUmKTFIBmKMU/FGKLhcZilpcUYouFxtFLijFIVxKUUYpQKVwuKKeKaKcKhjuOFOFNFOqGwuLTqbS1lJhcWiiismK4opRTc0oNZMaY8U4Go804GsZMpMlBp4NQg08H3rGTKRIKeDUQPvTwayky0Sg04c1EDTwaybLRIKUUwGlzxWMi0PzTgajzSg1jJlJEwNPBqEGng1k2WkSg08GogacDWMjRIkzRmmZozzWUi7EmaUGowaeDWLY7DwaUUzNKDWMmWokmacDUYNOBrNspRHZozTc0ZpXKURSaTNNzSE0h8o4mkzTSaTNIrlH5ozTc0ZpopIdmkJppNJmnYpIdmms2FNITUcrfuyKaRrBamXdykkgdKz5WzxVm4cbiaqxKZJADW0UdaRfj/AHVkAe4zWbIcuzN061oXGAQvYVl3LjO1fxNNLUtIz5zgM3c1NbxYgQN1JzULn51z0zmrELAgHv2rdIlovR/6uozw2O9SBgqYzzURYZ9aLDRMH2j1NG/HXrTA3HAqJmHc1ViiXdk9qsxOmPnP4VQVuetSeYT349qpFF15wOn6HpVSWWoy3HWq0kvvVoCR5c1A0oPeqlxdrGOWxVA3/msQre1WojuaplDHqfc0jOpIU+v3R/Ws77UqjYjgsPvN71LE+BkYyen+NWohcvbz9xcAfxbeM+1NYocA8+w6CqplJ+RPujr70u8ohJPzH9KtIdwfDcFfw9KglVSwUc05m2px1PeoA2FJBq0A6cqzhj0VaqPKQp9TxT3bKHJzVd3VVyxxk4FUhXGSnCqBz1JqPYFGW7VWuLsklEGOvNMtppGnUFztOWwfpV2JuS3cpgYBRgtzmqJkfeGLcjvXS6dCLpR5yKwI6EcU2+8Oxq4a33BSMleoFJSQmjKtb12bY1dRpMzMwBNYcWkmOT+tbVsY7NOMM9KUl0BJnQ+axjAFRSOH+vaobaYvECetDtmsm9TOpohD6/pRnIpCc/N370UI5mxaKSirIbFPFJSUU0ZNi0tJRVozbHUUlOxWiMmApwpAKeBWsZEMQU4UbaUCtkzJi0lLS1ojJsSjHFKBS1aMmxtLilxRirMWwxS4pcUuKoybEApcUuPalxVIzbExRS0Yq0zJsSjFLS4qkyGxuKMU7FAFUmZthRilxS1aZLYmKMU8CnAVZJFilIqTbSEUhMjK0hFSYpMUCuR4oxTyKTFAXG4pcUuOaUcUriuMIpMVJik20rg2NAoxUm2gLQmCYzFGOakxSYpGikMxTSKlpMU0JyIsUoWn7aXFNszuZ+KMU/FGK6rnq3G4p2KXFLigLjcUYp2KXFMLjcUuKWjtSHcMUoopRTuK4mKMU6kxSuK43FIRT8UYpXC4zFGKfijFAXGYpMVJtpNtJhcZilAp2KXFDFcaBTgKMUtQx3FpaQCnAVmwuAFLRilrNiuFFKKMVlKRSQ2lFGKMVi5FWFFLnmko6VhIBwNKGqOnCsJFolDU8NUINOBrKRaJwacDUQNOBrNs0RMDTs1EDTgazkaJDwacDTBThWEi0iUGnA0wGnCsZFpDwacDTB1p1ZtmiQ/NAOaZmlBrGRokSClBpmaUGsZFJEmaUGowacDWTLSJAadmo80oNQy1EfmjNNzS1Ddi4wuKabSmm1HMbKkB6UlGaTNNMHACaTNBptaWIsOJpM00mkzTQWHZqC6bEWM1NVG+f+EGrSN6UdTNmO5uKLUhZdx7fzpkp+bjrTbcF5Tz8o5JrZI6rFmZsgufwrKc7nNaFyfkrPP3iKcUVYo3LYdcVPC2AP0qvecMlSwg4BPU1skTYtB6Viaag5pzUWGhckLTCSaeOlNY8Yp2GMUZNSj0pi4p26rSGNmbauBVCeTYpzwOtXJec1j6oxW3Yg1pFCMW9ujNM2D8tRROY1aX+IcL9fWoj3pZDtBT0wK6UiLjFkcEYzn0rR+1NEEQnjAye7H/AAqlCmAZCMnoo9/WiZXWTefaqsNGjHqBZiW+4vNSpfLIxLfdrJB4C+vJqQHjjp0o5S7l6W+UseKhmvgsS4HLc1CE8xKjkj3jIHtVKIMbJfuy7VG01WZ3kj5PRqlMWTzSGMoenB5qlEi5Gih/larlvbEXMS/9MyP51GsQPIrS08jzQrYwfl5ptBubenW4XaNuCKvai6wWbDncfSm2imM7D82Kz9ZkaQhBtJU/dNZIL6mS1yxONxDe9LG5Lcrn6VXYEMVcENShgvViP9qpsXc6bT3zBtzx2qZzzVbTm8y1ViRu7kd6sHk1n1MKzFBxRSDvS4zWiRyti0UoFGKszYlJTsUYp2M2JS0YpatIyYoFSAU1RUqigEAWlxTgKXFWiWhAPajFOxRW0TCYmKMUuKK6Ec0mGKMU4UuKtGLY3FGKdinBc1Zm2MxTgKdtp2KHImw3bRtp4WnbeKSkQ4kWKTFSEUbc1opGEkR4pwFP2Yo21ojFoZikxUhWkC1aIYzFOANPC09V9qfMkKw1Vp22nhadtpOZagR44pCvepcUmKFImSIcU0jmpiKYRWpg2R4pMU/FG2puK4zFG2pNtOC0nIqxFijbUm2jbSvclobtoxUgWjFUK5HtzSFalxSFaY7kOOaXbT9tLikK4zbRtp+KXFJhczcUYqTbQRgV1cx65HS07FFO5NxMUYpcUUXHcbRTsUYouFxKKKUUXC4UtFFFybhijFLijFFwuJijFP20mKAuJijFLinY4oHcjxRin4xRikxXGUYpxHNAFZsLiAU8CgDFOArNspITFGKfikrGUjSMBtOApQKXFYSZqoDcUYqQLmjbWTY2iPbSEVPt4pm32qWQ0RYpQKk20BazkhpDAOaeBShKeE9qxlY0URBTxShKeENYSaNYwYgpw6U4JTttZORuqY0U4UBfanBazbK5BVp4GaRVqVRWE3YuELgFp22nAU4CuaUzpjSI9tG01JilxWLkaexI9poxUmKQjms3IPZ2GinrQFqRVqZMuNMaFNLipMUhFZORsqQ2ilIowazbNoU7CdaTBNPApcVBqoEZFNxU22mkU0J0yI5ppFSkU0rWyZjKmRkUmKeRQBVXEqYw/KtY13LmQ1sT/LGT7Vz91/rCe1XTOiELEJJ2k92pYpf3gjXpUUjEjrT7ZVA3V0F2JbhsLVBjgE1bmbcAaoSHJP1oiUV7sfOhPQU+Fh1JqK7OQtJCe5rZENGih4560VCsuacDk9aoCRjxUZOKVj261HI3YGgYb80GQLiq8j/LgU1ck7mNUhll3yOtZmorvUgDNXA25s5pkihq0iI5aaIxycio2G4yEjgNk1t3lp5gPrWTNEUfYwxu5roi7kNDYpMSDd2FW8rOoCqfSqMincSCMg0iXUsbjJBArSwky/ZWJlu3Mq/u1/WqkuIZ3iznaxFXLbUo1jHmMFZqLp1vYwsKhj13CmUpENu37wDsanaLnFR3NstskRV8t/FU8TiSIMetUNO5WeH0pEt1znnmrJ9KVVI5FVYllYRFWx3q5bwKz5ztfsaVYlcc5Hoc9KeA8RwT+NOxNzobN98QJyCOCDxWLq6h5iRk49K1bO8WSILIwL9OlD2SuwduCayq6aji9TnYUdsIV3r2B6j6GtOy02Nt3mx7lPY9RWgunRwPuUfKe1WPujGPxrnbfUpy7FGzhNvE0I6Kx2n2qxjilC/vGanH0pLcwqajQKcFoAzTwKtMz5QApdtKBTsVSJcSMrSYqXFJimZuIzFBWngU4LWiZjKIxRUoFASpAtURYbilA5qQJmjZirRnIbikxUmKTFaRMJjOlKKXFKFreLOaSClApQKcFrRSMZIbinAUoWnqvtTuRYaBTsU8JTtlK47DAtO2cU8LTsUCZFspdlPxS4ppmUkRlaTZUuM0YrWMjCUSArTgtSbc0oWtLmHKR7eacq0/bTgKzcjSMRAtLtp4FOxmhSLsQ7aaRU5WmkVaZnJFdhTcVMwpmK2TOOS1IytKFp+KXbUyYRQ0LmjbUgFPC1lc3USDbQBU5Sm7eapSM5RGBc07ZUgFOC1TkJRIfLprR4qztpCtCkKUCptIo21OyU3bVpmTViLFGKfilxSbBamfimkVJimkVsme0xlJinGjFaJmbG0YpcUYptghKSlxRipuWJilC04CnAUXJaGYoxUmKTFFxNDMUopcUYqrkBijFKKUUXGJilAp2KMUXAaRSYp+KTFFwGGkApzClUVlJghQtOApwFKBWLZ0RQzBpKkK03FZSZtEAKUClApwHNYSNRQOKULTgKeBUEtEeKNtS44o280mTYh2U4JUwSnhKxmzSECER08JjtUwWl21zTZ0wgQheaeFp+2nBa55M6IwGBKcE4qQD2p22smzTlIgntTtgqTaKMVDY+UYFqQCgAU4VhJmkYgFpwFApwFc8mdMYiYoxTulLisy+UZigCn4zS4FSxco0Cn4pMUorFs2jEWjFLS1k2aqI3FJT6Qis2y0hlLRiikjRIWkIpaKtCaG4pCKdSGtES4kZFIBTyKQCmJRILhcxmsG7T5q6KUbkxWTcRZ3Me3NaQdh2MOT+VCyEoqDilnUqM4qtG+2TBrrQmXH5G0dhVGRskirZP7tj3aqchxKV9s1SAguBlPxqBZNvap3PynNRNCeoHHrWiJYolqZJTVdFCnlvypfMAPFVYLlrcT1prA+lNV6eGyPWnYVyFutNZuMVM2CeKicenWmkO41WwKkBqEnaPWnIeKtAJKpYdcVRnthIuGrRJqFxmrTFcwbi0dSSvNU24OGHNdFJHk1Umto3HK5reMyGjDdPSkV5EI2kjHpV2WxccpyPSqzwyp95TWiaJY37RMQFdiy9s9qt2l8iNtmOD03dqo7sHmhgoxmrEpWN7zIiu5XBHtVux8q5t51+XzFIKtXKqhbgNjNaWm3AtVkRpOWPFPUrnuaYLj7yYPsatRPldjLlax4r4iRg7Ls6g1oxXWV4PX0pplaMuRp5b7hyvatFpJWMWwAx/xeorPjusrg4P1qwboMNynHtVNGbZeLHJz0pp6EVFFIHiVgcgjOafmvOl8TKuL0FJRRTSMnIcozTgKavFSA0xXFApRQKWqIbDFAFApwpiYmKcBijFKBVXJaHAU8UgFOxxWkWZSQ7FFKKK1RhIb0pDSmk7VaOdjacKbThVJkND1p4FMXFSA1SZlKI4CpFWkXFSgVVzJoQLS7falAp2KpMhoZilpTSUyL6iGmk041GTQmJoeKUDNIvSpAKtSMZRG4pcU7FGBV8xnyiYpwFAp1IBMU6mk0tKwCmmEU6kNXEmRGRmmEVKaaRWyZyziMxTgKMU9RUyY4xALSgVIBRgVDZrYYRxTcVJim4pozY0VIoplPU1QkPApCtPFGM1m2NohK00rzU5FRNVKRDhcgYYpFFSNSCnzAoGdimsaeaiY10xPTkgNNoOaWtkZMKKSlpNggxSgUD6U8CpuaWG4pcU4AU8LQIYBSEVLimkUhEeKSnGkqkyGhKcKQUop3JQopwHFIKeKdyrCYppFS44pMUuYLERBNOUUpFKBWM5FQiGKcBSCnCsmboKbin4pveoaNEwAp6ikFPHSsZGiY9QKdjmkWpBUgxoWnBacBTwKljSGAU8DilxSiuabN4ITFKBS8UormkdMUAWl20Zpc1jJGyFAp1NBp2ayaKuGKKKM1EkNB0pRSZpc1jJG0Rc04Go6XNYuJspIkBpQajpR1qHEfMS9aM00Gis5IpMXNKDTKUGsJI3iSg0ueKj3UoNZNF3H0lGaM1LiCkHamk0E4puaagPnHA4ozUZNG6rUA50PJpM0wtSFqrlHzIfkGkzUZcUgfmqUQuPbmqc6fJtHTvVrdmmsoLDPQVVguYd9blI0GKyri0ZVDDucV01zCJML+VVXtxJbtxyozj3FaRlYDDQHywD1qrPxJmte5twhYjoeRWRcDDV0Q1IbIHc9BUZJZRk5oY81IqNsXjtW1iLkB9KRRzVnYAO1RsPQZ+lUkK4qsBUoNVwcH7tTKxx0qkgch/wBaaQMU4HNIeOtOwuYgZe+KbuxwKlYFh0qBo800h8wu7NLnioSSDjtQJDjpVJBceRmoHWpg2aY5zVom5VaIk1GYu1WqaUGatA5GNfQKuDVHyyfQit28tw65HWs77GSMnj+tbxZlJlRht9qar7c85q2bHGBnJpRaEN0/+tVkXKbSEr8qketLFcyQ9GYD0qwsJDAY4zmkEBKAlcLyaYuYUapOp+Ugj3WrcF7c3J8tY+X43HgCoY7Rn38YOfTvW9pNiwZQ4A296A5maljaSWlhEkhBPtVgVZlI2BV6CoMCuacPe0Gp6CYopTmkqUiHIWnA02lxT5Rc48MacDTAKeBmmokuQ4CnUAUuKLDUgpaMGgikkVcctSA1COKcGrSKMZMlBozTN1G7it4o5pzHE8U0mmk5pM1okc7mOzSg0ylFPlJ5yZTTwahWpFPFVymbkTKeamU1VDYqQPSsSWM0uahDcUu6qiZTY8tSbqj3Uua0SMWxxam96TNANNIVyRalBqJTTxSsFx9JmkLUwtzTQmh+aUGow2eaUGtEjGTJM0ZpuaM1djO4/NJTaWhA2BptP5pNtVchq4g5p4FAWngDFS2NIFOKXikIphOKkbHmoyaaXpu7NUiJIdmnqah3U9WpmZYDUpNRBhSlqhoscTUbUm6kLUrFDWpuaVjTadhootUZp7VGxruR1yFAo4pAaD0q7kWEJpVGaaaVTUtlKJKAKeOKaKdUlB3p4NMzQDRci4pNIaUmmmi4DTSUE0lMQUuabmjNArEoNPB4qEGpFNFyx+aWm5pc1LYkgNIKM0lZstIeKWmCnA1Niri0UUE1LC44U4Go80oaspGkWTA1KKrg1KrViapkop4qINT1NRJmkR9KKbmjOK5pG8RxIozTc80A1m0aodSikpazaNEx1Bam5ppNZuJVyQNS7qiBpc1DiCkPzS7qZmjNZSgbKY/dTgaiFPBrJxL5x4NPBqMGnCspIpMkFOxTFp4rGSNIsMUmKdRWLRvGQ2lBoxSc0uQHMeDQaaKdT9mLnGkUhzT6aaOQOYjNNJxTjUZqlEOYCxphalNRk1SgHOLuo3UzOaTNVyhzkoanhuKr7jTw1HKWpjnGeaYBinZBqaGME5xmiNO7sU6iRmy2hbjBxXM342MRiu+uIgYiVA3CuK1mPMygDrXWqfKY+0uzJjQyyBAOWNX5Y9vFS2NngNKevQVJLFzV2FzGa2c0mfarDx1ARtNNIXMRHOeKkUH0oK7qVM5x3rRIXMOx6UhB9KlA9eKQj0q7C5iE+9MK5qyEHegpTSDnKRiFRNHzWhszUbIMdKfKHOZ+0ikIq00dQtHinYOcgIINIc4qXae9CrnmmkHMQkA8GmPGD0FW9i5xzS+QGPBqkS2Zghw1K64UKOtagsycnIpP7OkPQZq7slsyzGMYx14qRogQMCtFdOk64FTrpr5wcfWndk3Rnxw5cYFbMEbBFOMGrFppYByw5HSr7wbV4WmoticiiAQOaCKkaMg80wis2iXIaRSYp2OaXFFiXIaBTwtAFPApkpiAU8ClC08CgYgFKBTsUUWGJ0opabVKIOQuM0YoFLWiRhNiYop1GK1RyTuR0tO207bWqOeVxoFKBS4pRVJENsMUtJR0p2JuLmnBqYaM0mh8xMrU7dUINPBoSM5MfmlBpKXGKsyaYUopOlGaoQ/dT91QFqTeRxT5Rc1iVnpm7JqMtRmmokuoTK1PDVApp4arSMnK5NupC2ai30b6GOKuTg+9OzUKtTwaQmiUGnAiogaUNSYJEvFLmmBqN1QWoji2Kru9PdqrOc00DQb+acDmoc1ItVexLiPp46U0CnijmM+QUGlL9qaTTGJoTuDVhxeoy/NN3UgOTVpED91KDxTaDxQ0K5Sc1H1oY00GupHoslApGFAbtQeaGxqI2lA5pOhpwrNyL5SQU/PFRg0u6hMmQuaAabmgVRiPzSE0lFTcuwhpMUvaiqTJsNNJTz0qMg1QWHA08GoxThRYhysSBqCaYDQTSaGpD80uajpQaixfMSA04GowaeKQr3HZopKTNQxhmlBptOqHEakOBqQHFRCnCsnE0jMmDVKrVWBxUimsJROmEixmjNRA07dWDibKQ8mk3UwtQDUNFqRKGpd2KjBpc1m0aKQ4tSZpM0gbms2huRJS00GlzQ0LmHAUUZpCeaycS1McBTqYDRurGUTSMyQGng1ADTw1c8onRGROKeDUAanhqzcC1JEwNBNRhqXdWTiXzjs0DrUe4U4GkoicySimg0taco+cM0xmpT0qJjUtD5gJzTTRmmk01ETqIQ00inUuKpIzcyEikIqUgUwinYFMZThSGlAz2p8pSqDlUk1fhj2Lkk1Xt0bPABq1K+1cV0U6dtRSq3Ip5cqR7VzWoQ75d2PXFbcr5NUpk3A1s43JVSxTSPy4wo6VFImRV1l4qvIKfKHtDOlTFQ7B3q7IKgwM8mhRHzlZo8UzGD0q2y/SoWQ9hVqIucYOO1IeR1oIIowx7VaiLnG/jTwOOaYVI70FtvWnyhzj6YRUfnmhZN2c07C5wIzUZUc1Ke3vUUhwc4p8oc5BKOooC4Smu+fpU+0tGmB2zTUQ5yGP5nqdBxuIpEj2sT2xU8acAHuarlFzkkYA+lXIkqoUO4HpV2LIUVookuZJsVccCnqAW5FNyMYB5ojOWqrE8xdj6ZqTbkdKjTkVLnAppCcivMg21nsOcVqMNyGs9xg1E0LmIsUAU6jFZpDuAFPApBThRyi5rDhTqaDRuo5S+YdRmm5pCaaiJyHZoptLk1okQ5julJmkppakx7kgNKDUO6nhqcWZygSilFMBp4NbJnNOAYzRindaaatMwlEXikNJmgmrRFhTTaWiqsS0OAp4pgNPBqWTyj6WmbqN3vQmVyDmphakMlRM/vVoTgSFqTNQb6durWKOSorEmaM81Hml5rRI5G2Sg07dUOaXdRYEyQtSbqjJoBpcp0RaJ1apA9VwadmjlJk7k/mUu/3quWo3VDRcUWPMxSiX3qrupd1LlLJ2kqJnFMJphNWoCbH55qZOarqeanQgVlNDWpOOlLimB6XdWZXIKaaaUnmmscVpEhwI2pF4prMKaH5rZIh0ycGkY0wNQx7UGE42KTGmZwaGNNB5roSO/mH5p6nNR04cUSRcWPNNzijOaQmsWjS4/NKDUG+nq1CQpImFKDTAaWrsYdR+aTPNM3YNBNTYsfmm5poagmrSJY/PFNJpCeKYWplWHZpQ3ao80q00YyRMKeBTVqQUmxKI0imnNSYphFRcdgBxTw1R04CiwD80maSlqLAxRTgKaKetJjSHAUopRS4qGjQbTgaSgVjJFxZLmk3U3NIawcToUh+6lU1GDThUuJXMSigmkBpGJrNxDnF3Um6mFqC1Z8o/aEqtUgaq6mpQalxEpkmaO9IBTwKykjSMgHUUuKcBSYrGSNkxvSlzQRSZqOUftbDwaXNRg0FqlwLVUk30oeoCaAaydMv2xYBp4aoA1OD1PJYXtSbdS76g30bqTiaxqErSVHuzTc0tRylOYE0Zowc04JVKJk6g0UtO20m0+lVYXONppFSYo2+1PlHzkWKVTin7cmnovP3a0jEhzZPbqAu7bzUUzcmrJ+WOqEjfMa6VGyDnIn5qJhUppjmrUQ5yBxiq0gNWmqCQUcoc5SYVEY81aYVGT7U1EfOVjF7monhx0NWmP0qPbnqv41SiHOVNrg8Glwx6k1OyqOppMqRxn8atRDnK5GKjKk8mrbJ6VGRnjFPlDnKWw9+xpwjKjip3UEH19aaBgY61SiLnIzyBSkZXpT2X5OetRgY4zT5Q5yu8a7iD0NSrlVX0p7JmnKhAFHKHOCKGXFP2nIJHTihQBjj9an4KjJzVKInMRee1WEyBxUK4/hNTKhwDn8Qa0SJcxxOetPjHOQKj2qD0z+Gas24IOQP0osHOTp0p4UsMU5QMdMVIF+tHKJzGmMlMCqsllJgnIrTVCetDr8vH61Tppk+0MJoih5/lTat3C/Mc8/SqpHtWDjZmqldDM80oNLt5pcYqoxuTKVhuaXdQQKaeKrkM3UHFqA1RE0qmnykOqTKadTFpafKNTBjUbGntUbVPIbRmJmnq1NCmnquKFEtzHq1SA1GBUgFUkZSdx+aQmgCkIppGEgopKM1rEyY+kxzSA04GtLksMYozSk0wmptcWw4vTN9MJpM1SgDmkKzUzdinYpjCtFEzdQTdzT1NRgU9RxWiRzz1JRS00UtaJHNKIE0maOtJihoSiOBpRTehoBoSG9CUCnY4pqmngZpWLjG4w00nFSleKjbiocTpjEbupwOajJxSg0inElpCM0gp4FO5DgNAp4NJil4FZy1HGNh4NLuNRhsU7dU8pqkPDYpGPFJmomaqjEOUZI1QeZz1pZmzVcZJraKIlHQuxyZqYHNVI81OGoaOVwuymxpgNONMJrosXckBpQajBJNPFQWmOzSGloIpWKUiPHNPBoxSU7CcyVWp24VFSgmq5TNzFJpN1IaSjlBTHZo3UCjFOwnIM5pp60/bTSKllKbEFPU03BoHFQyk7k6mpQciqwapA9ZtmyiT0hpm6lzUoiSA0maCaTNbIxbHClpuaQtWM5WNYxuTCnAioA9KHrLnNlTLIp4qFXFSq2aHITiKRSYpetFZuQJBikNLS9qzKuMFPFJSinYzdQeKGpAaCazcQ9oRmgU4jNASs3ErnFWpFFIq1KBUNApCgU9RxQBTwKyaNozHKKUik6UpNc8om3tBjCozUhph5oUTGcyM0m6nkUwilKJMatgooANOC1HKa+1FopcUBaTiT7QQZp4FAFPAqHA3hVACnBaAKeKycTZVLgq08LQoqQLmoG2M20bKlAoxVIVyLZQY6k4zS4qg5iApilRMmpSKVVOela01dkykNlO1O1UHPNXJzVJ+tdvKZc4wk0xqeeKae9PlDnIiKideKscGoZOT7VXKHtCo/Xiom+lWXwKi2+vWjlHzkWz0FMaIHknNTkUwgmqSFzkGwZ4FBT2qc7VFRfNJ93gdzVpBzkEgydo6+1RlNvA4Hc1aK4GFHNMZQBj8zVcoe0KxGTnHHbik2hRnFWNmT0wKY45AHenyh7QgYZphQ+tWAoxTQmX/AJU+UPaEYSplT5eaFXkVMijNPlD2hEY8dB0qMH5tpq0PmHvVWRQy5HyspquUXOPUbWAH4VODjt+lVEk3kIwOQeKuRpIMf1p2ByD95nK4A+lXLbkYY5qEbj7c8cUsUh3kHOQaLBzGoFGeMVKiY6Diq0ec84q5GMirUSXMeo/zihlyMf0qQLRirsRzmTdRANy1UnWta6znAU/Ws5wc81y1Y2kdMJ6EG3FNIqUim7aqKJlIjwaawqfbTGTNaWMWyuRQoqby6NlBGoi0/pQFoIoSK5hrGkxmlNAFPlK5xQKdim0uaOUrnHinA1HRmmoCciUGgmowcUbqfIS5D80HrTc8UhanYkcTQDURegPmmkXYkzS9aaOakC1SRjIiK0Ban2UbK0TMuS5BtNNK1OVxUbCtES42IelPU0hWlC1aRm0OFPApoFPHFJuxHJcMUhp1Iaz5jVUxppB1oJxTC1NSB0ideamQVVV6nR60WpSp2JWFQSVNuyKhkNVyj2K7HmnAio2NIGrKSKWpZVqlBFVQ2KlVqyaLsS0hpu7imljSsJxHZo3c0zdS5FUkSSZ4qNjRuoLDFUMgcZpgXFTNURNXFg0OQ4p+6os4o3VdjPlI6aRT6aa0uZKIgqQGo6kXpUsuw8UHFJnHSkzUXKa0F7U2lzTSa0RzyYoOKXNRZp+aq5A7NHWmZpwNBLJAKcBmmA04Gpky4odimkU+mms7mlhuKSlNFDKjuNpwNJQKixs5WRIpp2eKjBxS5yKaic86g/dRnimA0tU9EZwd2Iz4qNpfeh6quTmuZq56VFImMtOWfmquacppcp0aGjHJmrKvWdGasq1ZyTMpWLe+jfVbeaFY1m4sjQuK2adVZWqQPUWZnNkhopuaQtWqRySepIDS1GD0qTNRJApCgU8CmKakrKSNYseBxThiowadurFlokBxTg1RbqN1TYbdibdS5qDdShqlxI9qSmmnk00NRmlyic7jsUm3mnLTsUmhKQwLzTgKWlFQ4l8w0rQFp/Wl6UrC5iPFOApcUdKlxLjMUCnCm5oBrOUDphUJlqUNUSU6svZm3tCTNJmm9qaankGpjyRSbqjJpVOetaRhcmU7EoweKeq8cVGqkngt+VWtm2InP6V10qWphOqZ83WqbGrc3U1UeujlM+cjLU3OaUiko5Q5xCcVEx55FOY00kfjTsHOQuc1C2O1WWQmoyo7fnVco+cgPA70hUhfm/IVNgL1qMOJG4yapRDnGLEX68LSsQBtXinSsQu1fzpUhwuTVcoc5Cq/KT91fWmAb+EGF9ak2tM2D90c4pSpztHFVyi5yCQjdgc1EeAT3qeQY4psiiNcnr2FUkHOQquWAP8ADyaRVO/PpzUsS/I7H6UiqfLZz1LYp8o+cei/OB9TS4wOO4p8aYlUjp/9ahlKFPQinyhzlYybXx6cVBjdIFHQtSS5Dk/561Lbrht5p2DnALt5AGcVNDcEr847U4LlGPtmopIsuoHYCnYfOW4XDyYA/GhY235xg02DKE5AOK0UQFkxzmnyhz2GRAnGa0oRwKrrFksB1U4q3EOKpITmSClxSjpS9KqxHMRvGHGCKzZ7XZk7gBWtUFwPk6UpwTWo41GjEdQOhzUYUmrTqMnIpuB6VzbGylciCn0o2e1S0h6UXLSIGXFNxUjEVHmmmKwuKQijNLWiJaGFaTZUoFO2VQkiEIaClT7MU0rVJFEHNJnFSstRlatIzchu7igNQRSAYNVymTkPzSGgUoqGi4MaRTalxTSKSRtzDozVhaqq2DUyuKvlMmywKQ0zf70heixcRWNRMaVmzUTNWsUKQueaUVGDzTwa0M3EkHSjNJmmsawmwUBxbFMZ6azVEzVCRoojzJSZzUBalDVool8pMGxUyPVTfTlkrSCIZd8z3qN3yKj8ymlq2sZyQhNN3Y700tTDms5RKhEsB6kV6qBj0qRWqeQplvdkU0mmBjSFqUoCQ7dS7qrGTBo82oUGVylgvTd9VzLSCXmnyMFAslqhd6bvzTSc1cIMrlFD81IpqDGDUsbCtZLQxkg3e9JmkK80hFQjDmsh4NPzUGcU4NxVGfPqSbvekzTc0mealI05rkn40jcU3NBNXcxnEADTgDSK1SAjFQ5BGm2JtNApwOaTFCmOVIUGgtTTTCxo3I2Jt9KWquGNPBzRylc9x+aXNIBQVpNGiF3UbqizzilzQomt7okzShqi3YNBag5WibdS7qr76cr+9FrkWsOeq7L3qx1ppWs+U6IVrFYrTlFSlKAvNDiW65KgqYVElSjpUOJDrAaVetIRSrUuBHtmSA04NTM0ZxUOmTKsTBqdnmoVNOzRy2MnK5LmnBqh3Uu7mokhxkTg07f71AGpd1ZOJfPYn30oc1WD1IprKUDaMybdQGpmaM1PKOUh+6nBqjpw603E522SBqcoJNNVasRpzWbiNajlTigjFTheKY44qWiyAtik30yQ800GlyGbqWLCtS5qENT91LkD2g/NJmmbuaN1JwH7Sw/OKA2KjL0zdU8harFtZBUm+qQan76fszVVy1vpN2aq+Z2p6vUOkUq5ZHPFPVT3x+VRpzVmM44JFONMbqXHwxZYEgYqxOoWIgVJGAFyKgum+TFdsIWRzupdmXJ1NV2WrD89KhcU3EOcgb2ppU4qXHemt0o5R+0IGX2pm3npUxphFHKHtCFiTSAcc1Ix9BTD8oNVyj5yJxuoSPjgU5RuyT0HanA/u+OM1SQc5G6jdUhGY+KYy/JTkztIqrBzjYUGw0xUP2jn0qSM7OKGOKdg5ymy7rjA6LVeRt7Mx7cCtB1GGIHWqnkkgAD+IkmqSDnGudqBR61IyfuwB/fJpGjyq4qdUzGM96rlHzjQMrn0X+lOuQAqsei8/h3qRRj2pl0v7rA7c07C5zLuUIZhingbYV+lLINzK46Y5/pSleEQUWHzjkyq7T34HFTDAdGI/hwaYVyUb3qTbkL/AMCWnYfOWI4+frV1EPUcFaqxZUgGr6EIhP4c07BzDwwMu4Dhhg49anIyMiqyEKpA7c1LG+5SB29Kdg5iZWz1qQZxUa8ipVFUkLmFAqOVMqamAqOZiiHAyaq2guYyJggY4FVXNWpyGJypFU5PY1xS1Z1Rdg3UxnFRlqQ1LgbRmhGeo91PK03YaqMRuohympV5qELUo4q7WM+e5Kop4wKjVqduqkLmHmmmml8VGz1okS5jmxTDTS9Juq0ZuVxSKTFGc0maomwhoBpCaZuxSaN4E2eKjZqj3+9IzURgKcrAX5605ZcVXPWnZ4rZROdzLPm0CSqwJp26jkNI1CYyZppeot1Gc01EHVJA/NOD1BmlDYquXQamWg/HWkLVAGpQ2axlA6Iq6HsaiNPppFCiVYYRQRUgQmkZOKpDZAWIoVuetJIMVFnFaJGbLavSls1XDU5W5qiScUbaENS44rGTNIogK0A4NOaoieacWKULllTkUjGo0bApJHrW1yOVojc03NMd6QNQoljyaTNNzTSTQ0XEsxnNSY4qCNqsAgimkOQxuKaGwaJDiot4okjJlwrimsKlYYqPFQkcVSNiJhSA05uKhJ5qrGGxNnFNZhTN2RTC1RY2TJg4pGfFQg0jscUWKZOrg96l34HWqaGpc8VlOJvTasWVcHvUgGaqqeetWUbgVk00aOzH7aiZKnB4pCM1cGc86dyvspwUipAMGg/zre5lGnqKnIpWAxTAdppS+aGjocNCFuDRmlYZpmKEccm4sUmmk8UYpccU3Ey5ncjJp6HNJinoKLA5XJkpxHemr0pSeKTQriGm0hJoGahhqSqRTwahBNPU1ImS5ozzTc0uazkNMkBo96aDS9qQ3EUGlzTAaWk0Z3JAadTBmlBqWhXH0E4puaax4qOUdxwapVaq2TUiHNQ4msZ2LIbilBqEGpFNZOJTqEwpwpq07NHKS5okXg1ZjPSqYNSq9RKI1NF4OMdagkk96i8w1GzZNRyg5iMcmkFIaVetUonPKQ8UuaMU00OJMZCg0tIOakC1FjRsYRSAVJtpQtDREXqMC8U0qRU4WmsOKRuiDnNTIKZs5qaIEcHNNolvUnjHY1bg++B8386gj9D/ACrTgQBc7f0p06d2U6lkP4UVnXcmTVyZ8VmTHc+a6WjNTGGoWGTzU3bgVGRRyhzkR6UwrmpCD2FG31FHKPnISoHQU3ZmpytJiq5Q5ysycVGyAdetWW4qFlJ5NPlGpkGML+NNOWAqUjP0pAnBzRyj5xhGQR6U1XwMd6cxz/KomXcMjhhTsPnJeGXjimjnIIqMNn2NPDA96dg5hR6UmCrZ28GjoQG6U8ZXkcimkHMRGIMny8c08D5VOOR1qYbTHn3pQnUirSDnI9uSFAyCKJk3LTgN3A69KMcL3BFVYfMZTxlZEIHGNpNO8sErx6irgh2yPzlSc/jRs2vj2zSsPnICnA9M0/YNqt/tZoPJzjoKVj+7Ue/NNoakWOCoYVKjAgHqRwB71WV8ce2KkjYnGOKEh8xaVwrMOuOKnhUA1VjGSCf4uauwgA4q1EXMTKvpUgFMAKmpV5qkhcw4Urj5elKBSkcVVg5jEvEIc8Dr0BrOkFat4fnwRz9eaoMlcc42kdUZXiUsc04J7VY8rvinLHUtotXK3l+1JsIq7sprIKlMbZUIxTSakkXHSq7Gr3LgiXNLmq4Y1KpppFNIeTUbGnkio2rWKMZCE0lGKeEqm7FKIzNBJqXZ7UhT2qeYbgQk0w1OUqJkIrWLuTK6ISaSnkYpp4reMTnlJsQjNGKDRV2JQYpMU8HNLtp2LGUZpxFMPrRyiaEY03NBNIKdhoeDUic1CKer44rOcTqpzJwKdtqMPTt9YHUh64FI9N30hbNOwmQSCoCMVO5zUDVvCJhNgDxSh+aiJpyda0cTJastRtTzIQKjjpz9K55R1OqKGtJUec801s5pVFWqZukPBpHJxUirmh48irSsZyRULCgHFK8eDTMVaVzGcrDt1NLUYoAyaHEUZk0fNWBkCoI+KlLcVm0Ve4yU1BnmpXNQmhIFE1JGxUW7mmyPkVEsnODWcGYVGiaTkVVJ5qwx4qB15zWpxTWogPFGKAKeopWEmM201hmpiKYwpWHzMYvFPZuKaRilIyKHEcZtDlarCPkCqqrVhFwKl07miqsn8zAphlxTDUTt2pezSNYzuWFmyakLZ71QB5qVHPc00gbsyzmnBd1Roc1YQc1EnY057jRFQYatquaUpWPOYyjczzHg00rV546gZK3jK5yzhYrYpy1J5dOEWeRT5kRysaBQRUqx0pj5pSY1FkAWnhfapNtLisZGsUR7eadtp4FOxxUJhNIixikxT2FIBVPU5wBxRmlxTSKVg5wB5qQDJpiipVHeixDY8DimmpMcUhFJolsizzil60u3npT9mRU2J5iLFPXrS7Keq0rD5x4FPUc0qqcU4CocSeYcBTsUDApwo5SXIbTlpQuadiocA52hOtGM04CpAvFZuAvaMgxTlXvinlaAKaiS5XDFNxzUmMim45pSQ4y1ADNSAcU0CnVnynRzXFxTelOprGnymUpWHKc0uzNRg4qVDmo5S41SJlxT4sZ64NSEZpAoJxj8jiqURuZdtYi7DLKw9xWjwq4qpaxiNcgY+tTO9dMIWRnKdyCduCazm+9yauyuKouxDZptBzDwOM0wipcYTmmYzVcouYibNBGBTsYNIw9cUuUfMR9smmsfWnMc9KjPHJp2HzCH6Uwr1p/4UhFOw+Yi2803GFNSnpxTcetFg5ivsqNj8pI9cVZYZ4FRGPjBHfNOxSkQ4ycik2nOe9P2FD7dKPunHanYOYQMSAMVNER3FRkfNkd6cvGcdu1NRHzEm0LnHK06P+Ie1IDhulAG0kflVpBzAgAfIH3RTymyRR24qNcksM8nNWM5SNjTsHMVCn+kPj17e1Mc5ZiO3arBTE8uB2quwxgj160WGpEMhCjpzSKPl+b604rlxkUMOD6niixSkIOX6dRVpANp61BEnz/hV1FCxnNNIfMSouUB96sRDK89qijGEIFSjI57d6pIXMWRyMGnqKYhB61KpwapILjhT8UwMPSniqSC5nXsY3dKzyPpj2rQ1EZP8X86zN2K5qsdTppSFIpMYpC/emF+K5JRZ1xdyTikI4qLfg05XqEmW4kUi1UkXmrz85qq6muiETGUmiuBTwaXyz6UhGO1dHIZ+1YE03PNITzTT9aaiJ1CReTVhOlVk61MHxWc4s6KcrkxxUZNRtLioDMc1CizpSLBNRNSB80ua2hGxE7ETCmMOKlIpMA11RRxyhqQGgZqby6QpV3EqbQwVIMYqM9acGoTLSFbOKjJpzOKjJqmDiNIopaQ0IXKJ2pM4NBbApuaGrlJ2JPMoMnFRE96aWqHTNlVsT+aaQOag3U8NQoFKpckzxUTmlzTTzWijYUtRvanJxS4phJBpsUY2LkZHrSv0qmJSO9PEuR1rPkOuI5jSoaiLUgbFapGisXUYU9iMVSSX3qTzeOtFjOY2WoDyakds1HmqjE46jD2pwptJmqaITJ91NaT3qFm96jLZrNwNozLG7NIelMTNKTQoF+0LYU45ppXmpGNIK5IHHUYD7tNIyaeeKaOta3Oe1xNppwWnZzSqaVy+QaVFNKg09ulMyQaCuRBsoKVIpyakxkUzJqxAF71MF4oIpw6UIRG3FQmM9asFcnNOCUNF3KxQYpOgqyyYqJlqGhOQiMRVqOSqg4pwY5qHG4lN3NJJQanV81mRyVYSTmsZQOuOqLpANQugxT1fIpjtxVxjZGU0RYpVqJnxxmkEtInQsA0E1AZKcr7qGNJEp9aaQKUn5abuqERN2FHFOJpuaM1pyo55SYrDNKq0q1IorO+olFtDClJs9qnC07b3pylYSg2V/LxSgc1MRTcc1m5g4MVRmpPLzTFPap1I6VLYOBH5WKULUxppoiZSiRFKVUAqUCjFUQxAKKXHeiixmxRUgxUWKeDxzSsK5KtPxUKHmrAFFiWNA5qUYpuOacKymhxVxrCkxUhxim4rM05GJRtpcUGmkZyugApSKbupd1VyiU2BpjU+kI5pconJsYPepEODSFaBxS5BKTRLnjpUkTHcOKhU+1WoFUn0qowK5my4r/L1prvxQSOmRUMsnoc1tYdyCZ/TrVYcvUsjE1Ggy2aLDuTk8UAU0nmnE9qqxNxjECmHkc9KceaiY8e1Fh3EdhjioiMn5qcelMPJzSsNMCRjj+VMLHPPWg9aTZ68UWHcN3HWkJ+Xig4+lNJ6YOT707DuIW21A05B6U9h6momWiw0x4mVx0pHA65qHbzletAfHUU0hkyHccflQv3v6U1WTHy04sueeKpIdydsEACm7+zdR0NRv0VgeKM7k55I61QE0aEt04HepflKgelQwtv47inlwj7cZ45oGPlfCHGMnrVP5nk3N0HSrMu0xjZ61XPzfcxxxzVWBMZnDken86YwPA7irCIoPOKRhg8+vWixSYsaYw3oOatDlSDUEDDbg4walYqB8p6UDuTJ8vBzg8ZqZc5ODz/ADqCOXK4IzmpgSMYNNBclVsDoKerA461XPXOKlRuaY7lpOTUoHFQRHParA6VaFcyNQjIas0hq1r35yQQQaznT3rCdrmq5rEHtTGpW4NNzUOKNKdRp2EAzUqrTVFPzisbI9CMm0LtzS+UDUYlAPJqZZBRzWE6Y0wDFV5YeKvhxUcmCKcahm4GOylT0puM1bmTNViMGuuLTOVppigYoJpRQRxVNJm0G0QMaj71MV5pNvNLkRo6zBKkI4pmKcWq4xEqgYFFR7qN1aWKUh+aaTUZkpu/NCLclYVqQ07BNNIqrEKQ1jTM04iozkU7D5h+aaWFNzSdRTQAWxTd3FDCmGmFh26kNMzT80x2EpwpM04YoKUQzSr1oPTNMDfNSZrFExqCQ1JuzUT8mhIbIiacppCKM4qrEqdh4JNISRQDSkZFVYtTY0HmpweKhAwafniiwpSbAmmFuaUmm4poytcXNNJozSE5pisHJoxSgU4jigLCrTsZqMHmnigdi2SDSA80dBmmlhXJy2OGUm2SE5puaAQcUZ5pMcdxc00Pg0/giq7fepWKlMsbsio2J70qNxSNTFzMer1MrVXUU8ZoRDZMTx1pFOajJ4pydaaBseWxxT0biompA1AFgnIqJhS5OKMZHWkIgYc0i9amK9qNmKTJSBKlAIpijBqyq/LUpXNudixsaSV8CgcVWnfihrQqPvMTdk09agj5qwKhIzqqzFpydaYactDREZMmzxUbHFOBprCp5UKbYqtT85qEHmpl5ovYhRuKGxT1eo2FIDUuJcZWVmW0bIp+6oEbilZ8VnKJSkhxfmkyBTAd1OAqHAlSuxwanq9RbaVelSkwm0kTmWkElQ0A81ryHNzXLaning1ArcU8NTsQyXFJxSbqQnNFibDqcMVDuNSIw71LFYlQc1OvFQDNSbuKBNEjHvTd9R7+1RM/NY1CqS1LO8HvS7qrA55pwY4rGx0NxRYDZo7VErVKDWiRzzaGGhac3NIBirsc7Ddil30x+lRbuaLCLJbikzUAenq/NIZOue1WoRxzxVJWBPBxV1CRHVQ1Zoo2HM+OM1C8gPU0jsOtVyRWg7D2amr15P4VGW5xnvT4+D6UWET0tRs2KVfu5qhAx5qJ+mKfuqN2zxQMYWwPemds0MewoDAHFIBVAxk9aRgM570uQOajZz60xoRlpu3nikL45ZqeuSMscDtRYYmxccmo2XPQVMeegwKicgcDNMZXZDnAqNhgYarBbrUJZW4zn2NAyEKd3XFT/eQEdutRqccU5GCuRTKHKSBx+VJkBs9KNxVulDD+JaYFm24dyTxtpjB9xYHndTIW3AqP4jVhCCrAHPFAFfzXB5x9RTDKrDO/dRMevOAaqqMuwAO49KZSJPMLOdm4t709nfgE545FEYCLkfN70uMycnI9aBkiNlR1/wDr1aQhwM4zVdQvl5yOKekoFMC2q8U9e3NQLIOxqQPnoaYywMg9KlVcjpVVCfWrSOAOozTQEycVZQ5FVEbPerMfSrQFO9UK/wDDz61mykY9Ku6g5V8ZBBHpWTNMdvGCK5qvxHXS1iROw6UwGmgljUgjIqbjcbMA9MdzQ6kVH1pqFzT2jQfeapg5WoV4anMamdNG9OrdakpnxUiyhh1qk55qWI1PsrFOpFkrrmqsikGroGahlUE1004nNPVlXNPGMU1hzTgOKpm0LNWGsKjxzUj8UzOaIzFOj1QAZpHWpVFKw4raLuYWaKZ4o7U9xUeRV2GNI5oApSRnrS8VSRohw6UpFN3gUbhmnYEIRTNmTUhYUqEE0dC4q7GeTmm+TVoYpOM1lex0qmrFVoeKruuK0GFQPHk1SkS6ZTxQeKnaLmonjNXzIXKR5qRTTNlOA4pxRaFY8VCX5pztgVEKGiOYlVvegkE0wDigtirQxT1oIqPdRuoCxKCBS5qLdS7qYx+aQvSZwKYTk0xDg3NKWpijNDnAoGo3F3ZNJuqu0uBmm+fSNFRbLqtTieKqpJnFTBsimTKnYXkU/OBTBQW4p2JsXT6ZqNuKUtzS4yK5bHnNDQ+Kfuzg1GV5pycdaTRKJtwxUDctSscDrTM0kUyRTmpliJqOFea0YlG2sak7G0KVyuIcdaUpVlgB3qJm7Vn7Q29iio5w2KejYqGV8PQG4zXRB3VzjnG0iYt2oU8CqvmHNSiTC1oQWFbmpO2apLLzU3mfLUMpDi3NPBqsG5qQNSZNyZT81WlPy1Rjb5qs7uKqCG2KxqvKM1IGzSMKTQ1JoiRdtSBuKQjioycHFRaxDbe5LnNSKOKrq3NThsUNCQ+lPSm7s0pIrMG7jDwakVveomPNBOOlDiJSsTls00nmogeakNCRMnclRuKVjTIjUhGRQ0SNQ4NWF5qADJqUDipSFsPNMJxSk4FNpcopajxQBQo7U7FBnYXNSKc1DUiUmCRLg7aQ9MUu7AqMsKTYrMCafHUY61IvFRe4mWVORigmog2KfuyKZDGE03OTT3XjNRdKzkhJ2Jh0pw6UxTxTsjFRyj5hwpwYiot1PXpVRQnqTA5FOxTVPFP7VdjNojeq7CrLCmhKVgK+CKQkrg1YKioZkOwgdanlLSHjn8a0EyIhyfxqhbfvNuaut8q4FaRjYZFK2D1qAuB1/KllfHeq5fvnvTLsSbsdAamiPNVsjHFSoSDTSJaJz14p5IC1Fn5utKxpisNYkmkwPxprNTA3OSTQOwrrx2FR8KSe9TEjvTCVHIAosFhvzMPSmshHPSngnb70jEdzRYdhgXHJFKWxTfN8xjt6etRyNhsE4oBIeHx1ozuNRsQF460gI289KY7EUzbRnIAqsZQeRU8oDn5h+FQfuw2Ao4osNEinBye9Djjd+NRF8uATyadJPvG0dKZSRKkm9MHrSqcdCRUCHH8WKlBycd6AJ4UOWx36Up/cqVQZJ9algICbvSqcs4LNs6nvTAa+48see1QhirA85PXmhi7cnotQ7ueaCi4X3DilD4PPSq4epVNAyUAdRTU8zzDgZFAyBjORTeQ4OaBovxBhwRUuRjnFUlk9KmV8jmmFiyCMcVMhJqsnNTr6CmhlmNsHirsR4+tZ6detXITz1q0FitqMKH5ucmsiSIZxtro54RMuDVGWxCjIrOpBvY3pSS3MyOEelWBCCOlSx2zg8ipTE/ccVhySN3KJnyQiqbxEGts2rN2oXT8nJNbU6ciHKJgMpBphJroJtODxhVA9SaqS6dtXoa0dNkX7GOetSxdaWSEo5XBp8QxUPQ0grk38NVpnxVljhapTcmojU6HXCkuoiDcalKnFJCtTkcVfOUqepVZeKjIxVkrmo5ExWTepul0GqaR24poz0pShYVrSnYwqwKkr81DuzzVqS3NQm3YGutSucrg0RFuetP38UjxH0pAhHY1dxoR2pFkoMfNJs5oY0PDe9AfBpu33pAOaC7k5kOOtAY+tMCmnBaHE6IVBxkNKGzUT8CmGTaKjkLc0Ts1Rtg1VluSDinJIWGaHBjTQ9gBScYqKQ01XraKsZSYrjNIq0vWnCqsQmBWonFWMcVE1NodysQc09RxQV5pwHakihtKOtKEJ7VJ5e0ZNIqwmARUTDFBkAOKjd+KZcYD/ADAFqtJOORmq8sxGcVVBd5BVWOiEIotPIW6U2IMTzUqQnrUyRgUmVz2EUFetTxt2qFzinxHNCMZyuTk45pjNSsRioWNNmVjSk6imq3HNEh4pg5WuZnmEofmlLVXzTw2aBNDmakU8009KVRkUrFJE6Njmp1ugB1qiSelIQStYypXOmnURom6BHWojPms5d+asqpOM1EaJrOoktBJiTzSK5xipzGGWoTCVOa6I6aHFKLeohPOad1pgxu5qZQKJGlPDykNCkc08PxihsDvRioNJ4VpXQhbHNOD1ERzUiLTucyoybJ4TlqtlW21Xg4ar4A28Uc9jb6r3KYRqcOOtWMCoXIqFO7JqUeVaDWqB+tWFGaY0ZLcVo0c9rlbcVNSrJkUNCQc1GvyybfWouLlsThuaeHBqMLS4wamxNhSeadTFBZ8VIVwKTWhUY66ig80pPFVnk2GnRSh6g6amHurosRtg1OW4xVfgcg09WzxScrHIqMiaM/NVrbxVeFec1ZJwtVCSYpQcdyFh2poFBbL04cGhoyJUTihhgU5WG0VFK/FKwrCZ5qVTVVW5qTfiokhpErPUe40wtTlIIrNq5rBJDlY1MrZqDHNPBwKlKxlWs9ix0pVfDYNQeZTS+TkVZhYulhUR61EJOKN9KxLRLu20gbJqJmzSxnBoSJsWQO9SCoN/vTlbNO1hE4apFbmqpNOV8VPULEzMN1NL9hUbNzmhBmlcahdj9xoYBl5qUICtRz/LEcYp7lOFiOxX534wM1ckbA61Dp8ZWPJ706ds5FaJaDSKkhyTxUOR3PNLIewNRqfm6c0rF2Jwx6DOKkQ+n51W3H1p6ucdKpE2LSkk052AFQxElsk05+aYrEbvUZl45pzAn2qF0Hc5/GosXYR7kA4BOaFd9uWJHtikSIZ+7U4CrnvTSE0ReafT86d9/wClKzgdqjZww4NOwWJMhE44FVXYZzjNPdgeCRt7Uzh16cU7BYhEpznOakWXrmoZEKnimBiPrTsOxYY4SqjMMk9O1SGbHHFQSNnOOlAJDi7EjkGgEkVGi7jubtTweeOtFirE6j5d1PVjtHYmmRycbStIHww3AcdMUBYuI5NvsPNRuFRQO/p61JCVwGY9ulQsC29vXvmmgsQNIwJycgVVMmZDxxUjOAwx06VHIxUBuOKYyZGUn5SPpU64x0K/SqKzKTyoNWUdTjGRRYLFkEj+IfjTsBx71EuTUm7ZzinYpD9u1Ce9OjbPWonlwBjoaSN8nrSGkaUfA96sRqeuTVOJquxDOOapASLjOBVqE8iojHleDT4QQ2KpAXO1JgGkJpM1Q0LtFJtFBNNLVSGL0ozTC1GapFWHHFMZQRilzRVoZRmso3BwtZslt5R4/lW+cVDJGrDkVE6Ski4S5Tn5G28VTlPU1p3luQxxms1lPINcjo8p1KsEEnzdauDms1TtarAnx3qXBmsKiaLJAprR5qAT5NTLIDVclzWM7ieVgVKkQ7ilDAinLIBW9OmkRO7EkiXFVvKzU884AqotwK6PdRnyNjjCKb5IzTGuhmojegHFUrEuNiVoV9KiMC0jXQpBcBqrQNCNogDUYjBNTOwAzUG8buDiiyCw/aF70wvio5pto4qJCW60NFIleTio9+eKd5bMaYUIODUKzHqMaMMc4qRYsCpFAUc0rHI4rRDK0inPFMVTVgoTTcbaEhDVHFITg08YpkgPWk2UkSA8VG45pqPzjNS8Yo5rjsQdTUqJmmMADmnxOBQa07FlYxxxSTINvagS4qOST5TStc0bSM2QHzOKCpK1Oyg80mMiqaM4yuzPkhJNTQWwHarXl5NSKu2lK9jXm1GMgVahJqdzmodue1TTRNSRC3NOTipCmKTyzWtzK9xGfimbs09oz0pFhNK6HaRoyDIpsYzVgR7hSCPFY8p59iB0phBHSp5CBikVciplELEKvjrUyYpHh+XIqFGIODS1W4iwVFKig8VHvyKdGxLU0hjhGAaXoQKlYVXJ+ehodyyh45pJSNuajUk9KbIrMOtJxNYakLsBTftGDSSqQlVZDgCly3OmFVRLnnZb2qeF8riq1uu5BnvVmNNpzUtalSq2Q91zT4qCeKaHxUtWM1K7JclWzVqGXPeq2dy5FEbbZKiUdDR1EzROCOKrSowOaUSc1MCHXmsFeMrkTjdEERx1qwNuO1U5jsbinxvxWtSTlsZU6SSuySVhVGXDTLjrVqU8VmmXbddeOlXGNkjlqvXQvKTSk5pAOKj3fNVWM2idPWiRjUUD7iR6Gp8Ajmq5Q2KTDc+KckRT5hUxgXduFS4Tbg1nynV7bSxGknODVhBk9ag2jGRTgxXB7VDhdGXtLM0EbbgUryjFVBOD0pxJxyazjBxYqs1Ifu+anhqqKXMjZ6djUynmtbHK4kwkIpm8sSKaeWxQODSaJHCnA0m3AzUioSM4pWDchY8U2NiWqZoyR0qPy9nWoaROqZMGoLCoN+WxTz0pWE9R+/mlyKiAOetLg0gcGiQtzQH5qPBo9KDNosfSgNTYz2apTHnpVcoWGEmrELcVDj1p4G08VNibFgjIpAMCo95FJv8Aek0Ow5mpVfaKjY80uPlpcugJalmOb3qO7JYKqqWz6VAp2yUok3XgHUChLoVJGlbfLBggg1XuGyTVqSTEeBVCVs1tYaRXfrzTFkA7UkjVF5h7CpsOxYzxz1pNwXiogxPepFAZwM07BYuQLhMk0rsBS52rgVEze1NisNOfWozStJ6Cq7SOegqSrFnzMDpSebwcVTEjA/Ngk1Irc/NQHKPaTP8ADn8agc4J4HHt0qYfMegFMeLOeeB1NVYViqzZOMGrSYRdpPzVGU+ZcUZHU+tOwEzKGXNVJFFWw3BFV2H3qLCKMmc4xSRuN2M8+9Om4OPyqJHyadikiY5IGTUkS5eoVyW5NTpnIpWAmY4BAqJCCfpQzFuM0xsqR2osNIlaQ844phlJHXNH8J4/Gk5C54NOwWImTOSe9NZf3ZyM9qsKQ/19KguV2xNg8GmkBHEcHCjFWA54A61TgJbthe3vV6IAfNTHYmRWxyxpGG7gUoOcsfwprvtXA7U7DQzHylCckGrEIIXPeoF+Yhu55qxGCDg/nU2KLUZarsW4VUjPrzVlGx93cKB2NGF+nNTgDNZ0c571eifcOtWhWJznbmo93bNPzkGq7kocVbGiQtimkk0wHNLQUOzRmm55xRuqkhjs0uaj3UbqpDsPzSGk3UZq0FiC4TehHNYVynlNt5/GuhbpWJqStgkpgjofWpqRuhmYRzTXHFAbk5oY571ikWmRg4qUPhetQMO9NDHOKdio1Gi6k+ByaT7RzVcn5ahyfWqN1W0LMs24HmqvmEGk3H1pFQk0vUPatvQDubnmmbOeavxxLjmmvCM0lUiW6cmVQmR1puNr1My7M1WY/NWqdzFpomdwEqFWHel+9UMzbRVoYyQlplVelXoIgBVSEdz1qwZiiZqZvojWmu5abao+tVmAJzVY3YZuTT/NDDioirM6GtB5am76aTxUZfHWteYhU2yfzBnFNYZNUml/e9atCVdopqRSpaFqOHIzioZwBxV63O+Liqk8YV85oepUUrFErtanBiODSsfSkByKaRzsRmzSKSKQDc1PIxTHFjt3FRs5NKQTTAvzUILjgeKF60hB7Uitj73WlfUpEg460pbnFReYGFNeYc57Velg1Y5jSqOaamWGTTgfmqY6EsGGM0IN1LIaIODmlVNaVrlpIBt3EU5IQeaVpQFUDvThIAlYbHUrCo3y1C0hDGl84VDI4ODRzyvY8yVNJXF3b3qTODVfdjmpFOaFe5Hu8pMH7GmNFknFMBJf2qXO2tLXJdiEKVfBqVPlNRPJ83NKj5NLYkseZu4pueTUDShJACetOL5ol3E1ckVwrGmST4OKaqndnNMmQ7xgcU+YtMl+8tU7mPhcVdEbFRinExRRncNxoUXuDYsKDylxUpXuKofaWZsLwK1ICrQfNWVtTe/NErvkVBuKt1qzMcL8tUJN5bNJmcnbYuLOFHNDSH7wNMEOUBzSEAHbVcuhKbe5chk3CrSMRWZCxjfBPFTPcbTmsHSZ0KqnaJLKdzU1XZWwRVT7XmbFWzMmOapU7FyptK1yZQJB96sq6Ux3B5q+ZF25Vqp3LrMnB5FayScTzqsbOxahl3xCgEEmqNrIV47VdAJbI6VC1JT0HxAIzN61IsuWxUDPt+WolYiTI6U2DZcYlc+lRn1HShnytETbevSk0RYkQ/LUhIxUZABOOlNPSk1Ye4/YQcipQ+VxUKy44NODc+lKwrDxxIn40/fhqhL4lX2BpJG7ipJLW/JzVuNEZQayfMOKmtbllfY/Ssqqbj7pdLl5veNXcgGMVJHMnSqbNxmmiQE4rj947lSVrmh5sYOKa4ilqm5wuc0Rtx1o1JlTTJHs9p3LUQ64NTpOe54qKZcyApWsZdJHNKmlqhVwaspbqcEmo4IcoHbvzU5UKuQcYpSn2BU77jhHCq4OKryCJCGXnnmomcyPtBpHUBSBzUop0otF8QxSqCKSGAiR0P8AD0+lVLO5I+UngVdEv+mDH8SVTk47GXJFrmsNkTa2DSbe9R3MzpJ0yKYk5dOBWnOrambw7fwk7LxUEhweKct0F6qTSPJHKeARSlIFhp7kYc8ZqcP2qFo26gUwsRSUuhjKm47k5JJJFOswzXDZzxUCS/gasWYPmE54rSGrJ3ZcmbiqUje9TzNVR271o0aWImIGeahzk+3pUj4PaoiCBSsFiVODU0ZOcVVU4Iz1qwjDIG05ppA0WzyKjI9TQTio3ehgkDFc1GRml3ZppdRU2HYZs5zxTlBHJoDbjgCngjHHNFh2FUGh/ugU5f170pHr1qkibEToA1QMMKRVtx8lVpOHHuKdhWGo+45796jnbYM0LlXz2NMueY946CmFivP8yGmRjgmoWl+cKTwanj+Ve9Fh2HjjFSKflznmoQfmpSxFKwWJxjJpSAcZqIPinFuOTTsOw7BXigDg80gf16ikyA2KLBYRgFfd3psxEkBx1oZxt5+lQO2EkHenYLEaHY20Vbjbd9BWd5nPNXrflQTTsOxZZ9se4j6VCjeZIc1HPIWZVHrU0C7aYJEyr8wqzHkVEoqdBg474pFIeowwIOK0Il3KMiqlsoZQrj5T+lXY42iODyKLDsTJAKnSPHQ0yNwaeWx3qkFiUcVBccYOalDZ71Bct8nGKoEhA1G/PFVvMPrR5h6ZoRpYtbh60me/aoA9LvAGSapBYnzRmoRISPSlDHNUhkuaM0zNLmqQ0Pzmql6m+EgAGrGaRwGUiqCxyc6ujH0+lQrmtG7t9sjFQR7VUXBBFZOAEZI2kVD0epmiOaYQFU+tTc0jTb3FJ+Wot4HBpkm4Ck27x1pcx0QhBuwu9d1Wxjy81RUIsoVjz6VeBBXArCpI6VSinoJ52KiErM/XinONgzUAOTmpitDZJFpGUvhqr3SqG4pSe9V7h/Tk1tSlqY1Ye6RtME+tVvMMkvNHltks/wCtAT06966zjbLURBapJNuzFQRlU5Y1NvjfgEVJuqcmii8ByWWoVMyuc9KuyMsfQ1DuyN2KCk3BakLXZjbnOKct0j96Y8YkbpTJrYKnHWnyGka0XuSyJu5XrQhYdahsy67hIcgdKtMB1FTZp2G5xSLttc7Yz7VTvb/LYFOj4R81WaAOuT1rRGUZkkUhdafnHFQwrsfFOeTLnFWZN6k6fKc04nLVCr5FLC+4t7UilqTEgdaa5C80jfOmRUfJbaabQ2iTdwDio5QHB5oAfBxVdwy9DyTU27jbREGZXXd0zU5KyXCqOg5pxgAT5qS3iKMSaqxfQsdFqLktTmznjpTsjbmixmtRduVpg+XipM8VCfv0mrj2H72L47VIXO3FRrjOaUnK1LgWqjQ0Ftu/+EHFPOTTZFBUAcDvSodw3fw9qzSOJtvcAp2nNOif5tuaaZM727AVEjHGR1NVYT2LquNxNAfcTmol+7gUwMyv7Um7LQcFzPUSY5PHWpLZHIJNDIg+Y1ZjkRUOBUtlqmr2Ks6bzjuKbGSRirAYS/dHPrQyhMnGBUsFDQapOMUNMCQBVee42/KvU0kOCpY1rCOl2ZW1si4Z8jaDzVZ9zuQDmgmPd1FT2TobqQdeBT+JlWsQQwsXweKvqpVcBqa5XcccVGSwbk4qHEE7CmQocdRTGG8fLQR1zRGCx+X8qFFLcq1yaIMY8d6hO7nPWrEZ8vknkVHcOjfOp46Gk5Ra0K9lJ6JCKdwpHGYzzTA4jALHg1IUEsR2mhWFCEoyUmUIVfzCxzV6JwTg1FEhjGD3ocFH4GalnROrFrzLOVOVxVPbhs1ahdJGFRlcTFfQ1DjbU45zU2mQqdrHNX4pdiDuKilgXbnvUcRPIpQ0ZlOKU9C4Qr5YGoUJBIqIOyneOmadv+bI71T+Ihk3J4p5XCc0oAwGFKzAimth2BCXVeelSp3Garwt1FNcOH+Rqh6lU1B6SLKJlmzTHYrxUaTur7XpZX3c0thOPRCpJuZs+mKdu7VFEwIPPOakcZTcOootciUGhyNmpNyow4psQDEHuaeQA2Sp4rOStobU6a+KRYSQlDx8tRsykbh1p5uozCUXiqTFs4FYOD6m0aqUrRZeSUOdhodzHlQeagg+XO7g0bssXzzVRhfcwqVLP3R8MrPJ6AcVfZ1ERJPJwP1rPyCu5eDiieUtAOcYYU3TvoTGfc2kf5faq1zOVXHrUMMrpCC5BXFRpJ58pdvujpWDoyhuaKpF/DuIhfp61YSNgvXNEe1s+tSF9g5ohrKxcnaCKofZNirEjsoSX+7xVJ2BfdzUyPvjIJq6kOxzQloy0SHXk1G8nlJwagifKlSelQSuCpHJqXHm1NaVVW0JPthHTBqaO9BOGAzWcn3MgcmpYLd5DuPygU3AtTanY14bgSHGOPWnSyW8WC3Jqh5myPYOtVzIxHvUKNtjRxjP4jSMiStlFAq7ACkfSs2zIYcjn6VohgI8A1vR3Zy4iCT0GSNVdyKe7e9V3Y1u0c9hrelMIJoZqYX96VgsKpxU0LEv7VXNTQnmiwWLDse1QHcT1p7Nxyai3+hFJoaQ7nPJ4oPHvTC/qfwFM3nPApDsWVxt9KcrfTFQq3HNSL1yaLBYmQcUcliaRT74FODDdgdKtE2HMKpz8MKuE881VmB307CsVs9aaz/KcjI705hVaZ9mD+FFgsUpo8T4U8Z6Gp1bhfrVdmDN147U7f8AL+NFgsWFPH40oOajDg/nTlOVIosAA4HXpTt1Rk/pRu9KLDJw9ObkZFVwe3NSI2eM07BYiuG+UD1qu8uF57U67bDAZ/ziqUs33h7Yp2FYI23zqmeBWvEfkz+VYlmczsa2QcRAd6dh2GqcyMx6CrsQziq0a4HNWkIVaLDJgeauQgFye+P0qtAm859elXkjVN2TzSKSJkQEbl9ORVpQcDnPpVVGAK44zUwlBHXBpDsWB7ilzxUSsG/+vTwB2podhwYA+lNuMGOg/Wkc5jIq0FjN35PBx9aUPVd3y5QD8qmUAKMmlYsmDE9KeDxnt61BvJ6UquWOTVpATjLHIqUCoVbHU/hT93vVJDH5NG73pu4+lIT7UwHhqdmolY0oNUh2M3VVP8O3nrk4rAJeKTAPFdFqmPJyR0rmp8MMoelZ1BrR3GXF48RxT4JfOQNVNR5zndVmDEWfSsUrM6udONiVzubFV3lWBT6+lK7l3Pl8tUPlYbLctWm4KChrISNSX82Q8npWgrBRms0sc4z0qWAtKmQaipTc9h06z5rsnmnyCKiinA61E7ZbbUaRsGOehpQpW3Np1o2TiW5Jd/CVLCERMvyait4MZJ6U2V/mKgUOzdomkJXV5Edx+8k+UcUxiI0JNTQyZBGKq3CswZK1hO5jUppSv3Kkkhlzg8UyMSk8ZxV2G0CR8irH2dUiya1TvsNuXQpLkt8xzU8gHl5omVEXINQDc4y/3e1D7GDdyxCgzk02QbmwOlPjHycmk45xV9AsQuMMAKcvSonOZyPwq0ke2MMaaVxoaoHSkYhD7UFvSo5MMuQeMUm7FIGGXXHeoGO2VgfWrVsAygt2qOSEtK2PWhaicRrE7MjqaVCRgDv1pSNoz/doiO45A6U0htWJAxBOKZuPnGnqQTzSHBdnxwO9CY73J7dlbcDVSUjzsDtQrbX3KetMHzOze9F+gmPlkywWnK5Zcd14pvQH+9UCsRN9adxlsPlckdKQcrUAcsdoHJNWynlQl2PPpRy3E3roMDAISetMdsYqJ2JJPrzTd2VwepobKFSQ7/aplbbkdqrxAnk1NggZPQ0E6sm3I4x0JGaUthPQCq4bc7SE4zyPpT3lyhxjn8hWVzAW6KqiqCMyVLAgXqPaqMcckrlur/wr6f8A16uLMI5FbGdwz9KaV9RWuWCMKSOBUPUZHSmmZn7fWjzAhHPBFDsKzRKpRk25qMNsyD9Kds2NuB4NQO4ZywHA6UNIa7luF1EZwahkuMxkGogSCV6Uh/1Lbu1LlVxNsgCPJLz35q/9n2RAgcGi1jAHmP8AxValYeUsY+tVsEYmfImDRattuX+lWWVSoJqvkJK7jBXFSUok3mfM3Oc08zAr81VAQ/zIffFORRuyx5PaixL7FkL5qAg80tnKNzpIOVNLbjYW3KfUCrSSovPkEGuetrsdNCnJe8xm2N3JUnp0qmIG8zGcqetarSx9AMEiqQA80uvHY0qa5lY0nUlBtlW62+YEz0FLEJN+YjRMczKduRnrUyuEysfBPeravIUatoIcSuSD98UwZY7u9QLw5YnLGnAkE80JXOepvoP24mVlOCOtSTDbdh1+6wqEShTsY9e9PKkL5nXbVP4bHOy1K2EBXvVdQecU7zfMgBxS28uFZSOnNDs2JkOSIsGlU4SpmQM3ApPL6jNJp3Fa4+NuOlPKtIpwKSOPaDmlRpRkIuRT5RoiibaeetSs4H5VRfzfPPGCTTZ55FYAY96zUWmHKTJLuuSGq62Au7ttzVFYxhZl59amMhNuyUNakkiKERc+lSg/JxUQYPHuzyKFDMmF69qGuw4tfaHICBgnBqctxjNVWJ8snuKfC4VNrckViots0jJeyaZKFUH60DKtioppCWUjjin7g8QYH5qbTRi1F6lkAyNxxQsW3cucnFRhiYsjgilS6UDDDtjdUJN/CaU5Q3luKWCCLP8AEMGnXMSizfByduRVVRvCOT8uTipEZm37+hG3FXa25KnqS+cfJ2npUjYRVUfWqaupgUA896le4i3ctRJ3MVGXNoXElVBknrUF7erEihfmdjgCkS7t3j8vdubrVCKItOZZP+AiocVzXNlJ8tpFx3bYr4wanUcZH8VQhtz7W+6amRhuGOlKS15jnbIyxWQjNKFycjk+nrUdw2y6Kj1okLxBWBqVHcUG1sXkVFj4AqFnPIHFLFJvT3psuFQvRyXZuqnusftGN1VmO48HmpCWS3GO9Rw/M1RJW2N4Tv7xetZHVRn9avebkDPBrMU4Oxj9KtrzHgjitKC6mdaV2I8mCdxx6Go2OKQuCzRk5IHfuKhIKElckf3f8K3aMbDmNMzQGDqGUgg0wk0rDsS9e1PQgDGagVs1IuKdiWhzuajOfUYpzVET9TUtFpD8gdxShjnjH41EADUgAAzzmlYLE4OB8xpwbJ7YqtvHepUyx9BQFixuJ7fjUgwKjUCnrwapImxIagk5apQTjNRv96qsKxXZetZ18CE/WtVqzr8fuz+dOxNjMDDcRSlsqRVcuFz7mlDfw9yKLDsWhJhsZ61J5mPmHY1TLZII/Cnq52sM9s0WCxZL4fjp1H0pA/X2qFX3RDH3lNG7o34UkgJwSOO+KcrYeogwKgj+GjdnPtTsBHdPlvqKzJWwSfersz7l9xVGTnmmFiey+8T6mtlBuxWRYjkVsxCmOxJ0qRSTTCOafHy3XpQCReibZjB+bFXcb1POSaqIgVBgfN71PGcdOwqWXYnVlb5CPxp/KdDmq2drsR9MVOh4+7+tIpIcGfrwPxqdGBGDVUxnORUsR9aEMnznr1pfvLg0nJ60VaEZk0XlSljyKi80lt2Pwq1cgq+SRn2qjL+9byx/F1x6VVikP+Z13cbc9qsJnd+uaYsQQLxx0FSMvyjb0FUkMeCQe1KHJ70xc44GaUAHtj8KYx/mHHU0byehpu0c4xTdvOQKBpDxIc9akDc81BnNO3c00OwXY3wNz2rnTEBNgng10Mr/ALlunSufB+ds5J680SQmUzAYZm/umlP759i8CrTnehduvYVRLeWwYnGaxluaQVtUPV1tpAR+NLcYYeav3TUTAupJ71Lw1qUHarXYclfUqogcE+tXLOJIlK+vNVIsx4walWY5JI5qVJxEkSzWysdyYzUAT58GpUn5JbiopHRiWRuau+gW1Lco2IMdKqTBdhZamiuRNEEPXpSXVpKkbNjIx0FckfdlqekuWULGZa3TREnGasSOz5bHLc1RtoyIyWyMscVaDY2MDweldDjroRUqJxjZaoWQSQsu8kDFL52Y2Zj8oqZ5lmQRzLj+64/lVd7f5Rhsp14q4Kz0LqTvTIQpkO9+h6CrEgAjAFMdG89fQDNLKGVC/bFao4rAp+XjrSSqwi3jjHWkjVgEPrzU7PuttgQljmmPYoD5p946AVpbuMEVmwlkZgyEEHoane4cDO3A6U4uxKHMUUM5NU0djE0n8AbFSBGlJPUDtUgi3RkMMBufripZSI4nyMDinmXnYn3zSC3K/cOcDmmSMYSnHQfzoiDHsQiYbn1psUy5ZR1pqN5secdOtRRR7ZpZsnHTFDLp2+0WwvXJ4p7MrxkL90VD5o24bBU9MUu1TDwrJnv2qrmioSesSGRtoBpwfBXAyTTZI8x8npio1bEwZe3akZtW3JJHIbdQSGG4feFOu/3JCsMbulRwIc4PrTdyWuxLA4DZH3sU3zpdziX7tIYikwXOM9DT9wLbW59SaSutBJ21EJXbx0pjIWb5eBTnG0/LytDMXUbRwOtU0O5Gz7QFqaSUOo2dl6VA8LEsQMr2pLYESNznbQPmsifazHe53Icfd9aewyrH+4OF9BUb3BPJRW4+VWPU0rzb4w4G3cp4xWdjntoTQoHYEcMFzuzQpDsiseNx6daSN0S33HkbRuC0xDyuc55J/nTewEzbIpyqyBkPTimh1Mm3byFzlvSnFFO5kxlh/WoZgyuyYxxu3HtTaQ1qTyRvJbE5ClyMEn7opQkQhyxIVB19ahMkkgjLt8xXcasukaxjfh2xwnaiwXIyzSy42qAv8Q71BdSYBBHHQ0qzHJWRdoH3tvHWiSIGLe7cUhSWpItwyQKSO1NN2AcPlT2pbU+bAEUA4UHn9aZdRb4mcr9307UxxJhLmDDd6qyPsfKfT61GX2xoVJx0pyRmROpDqxpSQ5EiEHBUbe2KnDhgMdRUTMMHAxk9KcFMZLkVF7kasvK3l7JPbBqQTGQsVqiDM5+UEoOKkt90Dksd27pisadNuV5HoVFGNPfUc9xvcEcEHFSO21FyerZNVZDl22o2N345qyzFochckDlcfrWsI8l0clV88tCpJLt4HJNCEqfrRBC4VnK/MfWlkWVeQylh0FOxnHzD5lOcU88hc9SKbF+8TPQ9xVglGA/2RSSSCTuQRjM20ryOatxM4DIVyjfpUETb5WwOBxVi4k8nYF6ioV76ENEMhdFC7eQabFMPMDbsDuKseajb8njiqBgxLgvt2n86pxtqKxdLdgTntTgGwHJ60pCvDxw68VGJMjP6e9NkrQleQqpIHPcU5ZnljzHwR1FQF9jdRSHcoEqttpJisQMzrdbzn3qpta4uGBOAe9dJ9ngu1WP5Sdm4MKrxaNtlyzYXPaslWja7N3SexRtW8hvLLblPFSS4SXaM8irTafarklnVkPK5qCe322YuMnJ+Zh6D/wDVR7WLJ9jLcWIFZtqgspptwtxC/wAikDNaaOgT5VAGKUOJYyjchhWLrO+xSw2m5nEkxsD3FRxyD5DnnoalYeX98cDrUJDGfysfJ/Ae9bLVXOW3QdO+0gjtUiv94DoDULwts+YrxxmnjC9+WTJH6UWBRLUMyldnelkKD5UHXiqpYR7ZO3TiljuUknTaCec1EY2YrCrIVZkJ+UOePSpTJzjP41BLkvvUcPz+NOCh7WbacvGNxA9KEru4WGR59MjkZqreqytvzx3xVm3ZkdFxuV6dMqLu38haUtGVTnysNNuYYQx8sMx7mr0xMmGjxz2rJDRB12qVX2qcl9+QeO1NIdZ8zuTwmQFzLxg4Wp43AOM9arXMxMsQP8TVBLHL9rWRSQo61LV0c7RamfN0PXNSTsSBj8aqqd9wD75qw6Puyv40oK2grE0cjqgIAbAollDjy+/elQhTnjNV70BGDsQCeeKp6FSXYvWzBlML9uh9qIrd4g7kZUnrWbBctgMDz1Vq04r4tb5J+TofY1Fr9C4DS/O4LVoSbo88/jWaJ88bsDOasxSFos5rSKshJ3kSsQWB7io2dQcbhn0phc5qKVVlTa34EdqZdheImLD7jckehpWb3qgLt4JfJn59GqTdsIXOUb7h/pQK5aD7eTVhX44qgD/e/KrMThh1FOwWHM3J5qPeM8c09ip70zhewqWikiRW554p2RjqarhizYGKlUL3OaQ7EqpnoPzqYADrzUII9/pTgR6ZoFYspJnuPwoJy3y9utQD8BUoYdulNCsWAQVqM8nrSqcAUN1qkS0Rt0qldDdGauscdaoXRwKomxzkv/Hxt98UpbEm4dKdc484uKiB+X6UWAkdzhcHkYpwkHBx14+lQMc5H4imh8qRQMuQN85TswxTg+N2elURLyCOvWrEjYlOBww3D8aAsSiQxkEdPumnSSbfnHQVU3YyKl37kI/A0wGyPuHWq5GeKRMg7D/DU8a9WI6fzpAWLNcYrVQ4Ws6DirqEmmOxPnNT26/Pk9ucVAOKlibB2jPPU0BY0lbjpx61IMKcjr0FQo20ZI+lTQyBsFh3pMpCndnb26VIrY4PFISoI3Z5p+QB7VLLQ4sBz1pUfnnpQpHXFL3oQE6tx1pxJqBSfSn5JHWrQNFS9LHgYx/Kq9vES2SPxqabdJLgqcfWpANoGPpVpAMYY3DnFKgySR+tPzgcdO9CgjrxmqsAoUA8daGDEcAZp27sBSEt2FDKRGA/8VRtxkjJqVywHNV5XA5JpFIC7A9+lPEgI6VU84HkYI/lUyMHHFCLsSyn92cVjNu3njknmtd8GEmsiRz5hGAfQ5pyIZRkZy7L2WoWYY+bt0FXFAKy7Rlm6VXhgM+52G1Rxk1g1JvQ2pyS1YxC7A8Vct0i2c/eNQJthVtp3A/xUvmn7RGmNoZTzVOLZcGrXEMCGVsdKgkO04BGQPzq9MYopEjXjPf1qpOgPzDrnFactjF7kHMiHJwKgjdgx+UbauRKEIR+c8VE8H7zZjafc0muhaHw4ZXkQbcVfW9SVM/xbao24WNvKY8d6fNGI4kK/wAQ3fjnFZ1YXWhpSqcm4x5EeQK0YO49qjeJOMIRtOcU1n3MR02fdPrUv+sBPT1zUwbWh1VLOEZIhQkEoxAHXn0qzHHCIxIXZXPVexqq67Z2ZOu7oalyG2/89Ca6YnIpaWJ0aDLFgcjjAqR4oZVXiqUzbGd0UAbsv6896RZG2szNwDgYq0HOiQuIhsTG4ZFD5hhiYbhnv6Gq0isU3qeG6+1TsFkiijdyC3K5/hb3pLXUOYgjmxdNJLyOe1LNNbzH5ASfal2hI2V/lYcHI6VIsR4KooB7iiL0GmFlCkpkkUNGijLZpJpFmG3GFUYH40snm/ZRHEnA5bb/ABVXBbaV287eaL3RWj2JVIhUjg8YNIFRbeQvj1JqNFMs6xM2F+9mm3SmclIuhPA9aEmirxfwjA/lrkDA6VCUZjKhc4OTx24p5JK7zyOM/X0pYhj3JOPxo1IZT8uRIUcHkJzTBfToigyEAjPPSp7zzFl2RR5C4UnNNvbTNqu3CgtlmPZRxVHXCrypWLcLCa3j5GWY8iqsgWG9EfO5qdZAfYANrKFkJQt12kVcjkR5okMXz4Hzn6dqXUznapzDV2zcTc+VyM0xCC49eo/OnGHYcsfn6nmmSKIJovQ9T+GaPUwtYkX55FEjfNSzRqS2374qCTc2T0LDNSw5SOOSQ/eGR9KpIgYylBs6nGSKRB5S7m4wpJHrT5y28MnIccYplyp+zjB+Yqc0XKtYdETNF5oGOdpHqKbDbiISEc7jToJVQRxDrnn8atNHiUjIww4OaPMTM9kBQL1I5FV0kdppN+cNgqMdKsDJhLjllOSKdIxKfP8APH191+lZxdnYxQyIvMyRFsgnH0q9dHy5Exg7VPXpVCEGN1OMBRwPSplkYsnyFsL0/vVT2HImaQxRqdq7z90Y+77mnyFZ7VEY8+v+z3H+fWqTTPudWOSw3dc4PpUiSN5KR54+9TvqGxMg9MlmxUk+5ZA5JU8DB6dKapHBVevC896CVeFRLKSzc8DmpXYLWIyAzMWO4NxxTEOZGBbjPQinkbCRH8oB4B5pHCeU0jNtKjv3ouDHpmFl2EYQ561LcEyIrx/6tjjGetVzHI0aGQbdpBCH/wBmqfzNynucc0tg2KZt8Qr1wHyfpUyn5cjq1PSZZVAZPmyVbnimltqoB6c0SY2iIgtMQPuirG4sWCgEnHWoEGZWCirMRSOXk8DmkJO2pWkeeIbHJOPuntUqM6GKRj8yjBx3qeVhKQ6sNnOOKgKFCT2Y9+lU9HoW5NqxOXb7RvBwB81TpIPluo+/B/2TWeY5HkwMn0Ge9T20cqx7x80ana+eOKV7iu1saM07RphlVweCG6j6VkPH97n+LIq3ePmESL83l4BI7r61AGzcMCQV+WiSJbuCBkQMc9efpUZmwCueCe3arLupDgcZQ1XSI7CcBj1PtUitYkttyq2FOWPFLKJejNknsBzT45QIwqZDYxQGZkJ398ccVK0E0JGPKQbhz0oVcZJyRjOKY4yhQNjuCfrUpYw4BBJxihu4rD0Ybhz7U3dtmOfWkJGRx79aQBDKCSVDA0kuhLQMrsxCjPfNPjkRmETnGT0ppbABB4PBNVvtASUh0+XaWY+lKLbKikzQW5Ed6xBCLjFaEeoo7KhP3h8rdjWdBGjyAyIJAB8rHqfr61NmC3kMW0KrfMpPRWrKpSv7xvSn9kSVvNvpEB5Khf8AGlu5t+n/AO9gYqtASJtzDBPWgkPaOODh9q/ialU9glV0di1ET9nXJ+aMAP7jsf6U+OTjjA5qCCcOVk24TJjcNxuU9x9KklUxOw64HcYonDmXMVTqck+V7DpU8603hv3h4A9qrR4kPlE8ryrDtUzfurZ+fmwTVTypHmlEYOXjDKR9RWkFZWZy1bOzRaMqnKsAH6OvrTAvzoyPnC4bNIitcQK8qhJ0+Vv9qiOOQOoA+RQaHpKxEWHlIzNC/wApYFhj19qq/ZWtyswclQ4zWhIikhiPb6UGNpNzbRs4HNNPoS9wMRQrEB8pOfwPpUlsgtbpzjh8oR69xUkIyiozcjJX2pj7lDdOB3pWtsJIHhEMxQDCdVFIYPPULHtZ8EMuaZcuR5TZ4xRaDyWt9hO9ss/1Pb8qlKzsPlu2ytNbmGfGGULyAaS2V87udo61vXMKzwqwAZaz3QARwxLhOW9zVSVglG8bkD/vQm1SxVu3WnTkbh71LBkSNhCvOMUk0SiHLDIH3TUOyViXErwqdyj+8c/hWlsVf3rSDYeKz4BumBzjjaoq1fTmJkiUA4H61LdnZEIRtm5SVPzelUL64DZGwM2MZNXoiRA8jHr0FVTZCcb/AJkPr61UdRu1wsNiWuGHHcGmnLvmPjtg96nEezAMpH1qYS2643Hj1201HW5D3Ku1t3y/w9R6Vetji3wQck8VHLDbTODnBHRwcGkd3hJKgSRKACR1GKLFwsSmkzzSJKkq7kORS5GcYp2NCOeFJ02v+B7iswyNbOYJuU7N6e4rVb61VuIkmQq3bofSmS43FicSr1ye+Ksx8d8D2rGt3ktrhoiK04QGOd1OwRdy4cbcDio9uetOABHHSkJxx1qWUhU69OKU7+g4FKDgCnkZ5JpDGoCKfuPTGKaWPRfzpV+XocmkMlXIFPVjjmoQT3OBTjjGRQBZUnHWnvytQROAgB61N1FUiGiKTlazro7oyKvyHHaqF1tGcnrVk2MKYgtg1Xzg1YudpOR1qox59qYh2cDB7U0nninIm/PoKZxSGKBkZ71OW3WyNz8p2/4VU3kHFTQNvWWL1XcPwpMTHE5GaegLZOPu9agR+xrR06LzUuUHXy8/rTGU5BjDj+Hr9Ks4ARR/wKpBGkYw3WoN+24Ic/K5yh/pRuBZi4q3G/Oe1UQeetTI2WC9hTGXgxJqSM4bOenNVhJ2FXII9/fpSAuwu7KM9KnI8vAUcVFCMAE42+lOVtz7TUspE6T5XnrQJMMarj922O1SrkjrUmiRYjfnip8+1VRIABk4qdGzjFNCaH7x6c05WyMU0jPNIrZ5q0FiPIDnNN373wtFwNpyO9LHDlDkkA9SOprVEjlXPHrTzGetOBVBgDFIZaYwwq896QvUTzCmeaKTZSQ53456VCygjIOKJAG9TUQdkPUYpFpERRkb5aWNju54/DFSO+9c4x71EhosUSzyOkRK81lFxKm8cH+VbCBXXBNRPZBlYgLuJ6miSuS0Z9lKv2rPbGGNV7jcjSIxwOQD/WrqWLxyM2Dj8802W23ZLA4NJp8tgSZSeJoIkTAKjFNaMKqM+4nr/u1YAKqqvwFGOTnjtURZ3k8sn5W+XP8AKi2hSbWhW2vcqrbuRnb7UrYbGTjcO/8AeFIXjjToVPbbzk/SnvHviDOANx+6vIFFmwtfUgaYPsfjgfpU5AuVKscMqja1M2o5ZzgH0/nTSr7cICdvGfaiLuPccA0mEkG2RTgH1obb9lh8xipV2X8ODS+Ysm2Mtgt909jScyWkvnHDxOP5d6pq6HYjmt2iJcgMh+66nqKjGyYtGGP3cn6VLFK9vPsf5oW+8p/RhViCyErs0bLtK4UhsHBqXGK940jJuHIUiDLtXIXtn39aVGCHlwGxnnv6Vpy6bF5fyOwbHQnNY0iM00vyYHvRCSYpU5olR96tIRzggrjr6UxIfNhRS4V/vbW43Z96gmdVYeUWcAkfL2NO+eQBJCqpGMjHJNaeTJcepaOYXSKbKtLwAeg9KhOQziQDpnBpYLidZxEIhJCRu8tznGO4q0RbyxtNnChse61W+qCxBDcJKAJQA4+UE/xj0+vpS/6jMYBMTZ5HYH0qCeFrZfM+8A2Q3YVNC4MZXcMDkZ6YNCHsCsbeQMATGw7VPJz5Z+8pQ4bFRI6q5hORt5GRUcc3lSxwE5yKqOgEbuI5t68qOCfTii3b90T1K81GpV1dWHH9RSwlmZEQ4bnmpeg4jFj/AH5V/miU7uKkcovMMe0Kd6j3qsjSM/yjiTv9KsySeWnH3icCiMbvmZbklsQmQMxK/wAXU96mnABRGXK7Mbeuf85qGNWhYxSAGQMCox2NTB2+3q+fkzj/AB/pVW0FrcZcxvhEjxll47c0+0UrLHvALJwcdKinnxLCwHyh/mz7ntU4DLO6gdSDmjlDmsR3AH2h4wT8uWpb7Z5w24PTGPp/+qi6YPIhXHmt8p/z+FVyuZVjj5CAKKb0RJZACpny9+eq56iiYqjAsuFVB8ufyFAby/3nylFXrnOf8mqwX7UmX4Qdj3NTHYfQuywjyIjs3fLlivrVOfn6CrDbv7MjZGdfLck7fTFU/NJkyoyE52/3jQ90xMki2o6NjgHk+tSzSlERV9c5pJYlit1DDEuOeenrUZl48uPHzdCe1DuPoNiCKS+/jow7UJGkULFiGjP3cHjFDKFGAvDdRTwFePaQAB6VNjKw1Bu6dT0olt942Ty7ABjy05Y/4UqMh24OBSSxhX+U9wTVLQaQwoq/JEm1R1qWM4X3FKsgG4H+KlVepB4pCsNIMoI3lc9W70KxU7gQe4NEhKpuUZweRSQDa+3rE+WHt6ihIb2FlUPH5u4gg5+pNIobYWzkVJNGQgUfdJzTlKrGyHOCv60E3KwWZSxbJGeD2IqWMkFOmDn8KBOFtSrLuPTFBEZdBEvytyRnNFrlWuRoMb88ZckUkpbbkU6RGV1HUe1NWOUzhdu6LPNRbXUVtQQncucg55FTg/vCf4cVXldhjf1Hyj6VOOACeQRRIkkV08spgqg/T6U4I3Kvjb/D71EER1yD25HrUcc7SSKnAC5x7U07orrct+YkRCADrwfen3GIoNgI+X5v1qssjSvh0OVOd3rSSFzJvU7tpztp7D5ixZh2SSCTCsRuUY7Gqo+V37/MRn6VcuCERVUn5VzG3cD0qHydtmsiSDd/GpolqS9SvI77sqPlP8XpVq2Zo28uTO1gVb6VFtTyirMMHinC4GQgViuOGIqEMegC4Zjx0NORw0O3IznLGoJD8mcU8SKAsSr8o5JoQJDpf3oQKP4qnQlX+Y5U8EH+lV433SDHFSsSc89AelTFaEMl8pHJCHDDsaZNAfIDkfdyMUQjft6fMMZqYSZIhLZwcbqaQWsKIwlrEx/iB/LtVWKNXV1wu48ZxVq5LvKIx90DAxVPd5UUhHUVntIGie3kVCVzkj+KmXTebG/T1qvbhsjPAzyammO1cZ61pIhNrUSKP5VyScjnNTeXHkLgqp4JU9/WmxnlfQVKwBU8D29qyu7lakcRmtpD5se5COHzncDVpNmyKSSTkr8317VJFbrHaeY7EN/DUEuABlgoZTyBWl+oWG+Y0jlcfK+evNTgtGnlq4AxhsfSmRttVW9u/anlUT5wSOc81DYpdiFm8gFlClSvAHG00QSOiK5PbkUSgFSDyPanOmFCnqMUlqQ00TnayhlHBHIp+4eWqqmVx1PY1Tjcq2Rk4qxbzbJCD91h0NS12FYaw23A5ZW6qRU6jzF3dOelRM2I1z98N1p6OFh3A87jmmuwDGVZo+Omcc0IrLcJJ1SM4NKfl3YPfNSNb+THFJuJ8xfmHvTS6kstwXPypGO7Gqe0W9yWyQytgcZAqaCHcA+cHqKhuHJMhPbbnP1oavG7GnZiCV/MdyyuQO3akllRozwRnhR7etTny52CZG0dTiicQklCDkDHqKylFX5h875bFFQVUFevUU97cyYyct3PrUrIijcc9Oo7VJkJlty7vUc02tTO2g0qgPlZ4C/rVdpiNqbsds9hUrSxhGReSfvZ6iq2ZMljjHejVbEtCeYJGKn86WbasQZzhQaBGwAIH1PpUUrx3MmwL5mznbnAP+NMCcyr5YDA8/d/2qdbPsuGXP3ufpVSbfK+5kGcYG0dKEmaOWM9M9c0JopaGm0ce7co2v6rxn61We4ZJcMvTvTlukwfM44yD2NPuExbwrgZPLH+dVdDa7A0oIzmq+/Dv7moJfMgm4GR/EKtLHuww4yMUDUircIZOnDjpRHLJFOEKnDdvQ1OYFDjOeatSQ+fBnafMTnj+KncJLqSJnbyR9KCCQcUzdl8eoqQ4RPrUN6B0BeDnvT+2TzUSuFYHNTN8y8UhqXQQbc0/dgcDFQllXjvUrOrBSF2nHNBUthN/PXJqQndgCoAQDx+dP37IwT1NAEkLH+lW0PFU1PyBgeM1YRqExDphxWVc/Nla1mBbABrG1AmJtw7H860IZizn52HeqrnnNaFzHvIlXo1V5bbYW5zTTEPsU3QTGqTHFX7Di0nrOnDIF3DGfmx7ULcSYnLNx3qa0JF0pxwpwx9qWwh86UEc9eKdLbu0whhB+9k+5ob6DJI7ESyMizgsD93aeK29LtvJd4z1ZOvrUTiK0VnI+d+cVJps0pkDOcJJ91alO5N7opMhjkfzTgg4p0lrbTQny5ip6/Nx+VP1iIpMzg4GQfzqgkwA68ZqooqLuPVZVHzHdjjIqaNtoqJP9am04ORVssVuWD7SFOTkdhTbGOw8Uiq6lSRuwfStKzBbPvWUs4uJjNISHJ+91/Ctu02rEGOAe1IZdUgKKhQ43t6GmrIZATnAWolmJeSpZSRKZGOTxn+dCzc+p9KiJUqQpzxTFUHv1/MVLNEXUmwPbvVlJBgFTkVmF2Xqcj+8KnSQLE2KENmqkgYcHNOK85BrOgkKgN2PQ1eik3itEybDyAw5pkkmOKc2RwKZ5bHqa0RJCxkZhjpTmRmHXmpMZGMUo29KZSKzxNjO6qxfyzjOT61osUxjiqtzahxlQtSykRpKT34qC4O3kE47gdKjb92+1uKVnAGCeDRcuw2ObjAxjvSvMFHGDx9Krhwp+9ketUby4bzAqbvfihFWNi3l3nNW4pcxjmsKCYoqHd1q39oKKqjjtmhSK5TSaUZwfyqs8qbqpSXWCc/jVc3nOQfwNDkUol2Uxt6VRmhaS4iXdhWydo9hSNc5BzwO9Vpr0+fA+eV3YP4Ur3Dk1LP2Mqxc4Yn19KrFZU3bD8jD86dFfM7o+AY+n1qciPcyNjcTkYp8yWopRIYALhgB1JBPt6mnzrIGBjQ+Up+8vf60RssFxKD0K9ajSS4gl4JJYlmH932pxa5bma0Ks6LGr+ZkjgfIex6Vejka6gOzaWZAxfPUqcEf59aZLCl2peDaH24eP1HtVOGMn/R2ygJIZ+mOMH+QqloaKxfudwRRsUhVz8rcjnGBSxvHbn5mDHO4FeOtU7iQhUkzhVIBzS3JUWkTorbmzuHpyaitFy0Rrh7J3Zaku2mP7pSVwfese4mknkDRgtsOM461Ktx9lhV2U7pGwF64HrTSqpPlMbXUsoA796mMGlqd8KyhfQsWkX2iExsArMAykHPIqCOQpaENu3bmTaehG6kS7kt23IOFPIxxjjrWmsKSrKroNhG5RnlfX+ddCR59TVuRTuIisW5Zuc/N6n24pIJA4dZT95sFuxqS4if92FkMbRn7wqspUIzcEj5mx0olpsZouQlyGhPLpxz/FTAqA70Hy9GUenf/wDVUQkZHiYq20j7w5Gf7vtUskoJaaDlhy6/3h/eFCBob5RdWjBIccKw5+n4VSm3RalFIVK+ZjcD2NWjcDy/PTrHyR6iqd6JDcIm4kyMMFvU/wD66exUV0JRh4jN0DHhe/PYVMym2iYZ3EjK47VBOw3IkWWRSNuB+ZqzPIduAcMeP92k7Ca1IV2oqj+7ycU6CMSzrO5yqDCr6t1zVWZisu1ThFTpV2D9xCpfl8VcNUS9yozy/ay8v/LM7mVewJ/n0/KmOzMyMOgYlj7Gpk2pcszklmU7yelRWxxHIpJ+7jHqtJmlrsjuFdYVdziNvmHNaEmwbJyeGUd+1Z93d+cyLCijadoYHcCCKu3jL9nSNEJ2/Nz2FNaIUiGZlL7l5cnoPapLQgwzOUzIx2p/X8KroN2S3yqvLN3PsKZcXDxbdp2fLjavZaXmJRe7EZpGVtx+Xdn0z7D2FTK37pQx6+tUFYuwYEegY/rU9tmVjztjXlm70NBItvOYrQxL/wAtP0FQWjATMcY8v+dQswYF3bjp15NPTdM2c7QDyuP196mzFuTXEwaSPH8TfyFKzIojwBvZgN3pjrUcj+ZMMBR8vQdqikkK4YlUXGAzf0ppDZMzMRj86QMUibuO9JuO9s0hkwCD0NCII4nG36mrZO5eTVIx+Ww29DV2MqV2t3oaC9hrkKASKesoVeDkGnOg2bTVURnO1TQ0JMuqVVd3rQoAOMdahjOVw3UU6RwMEUWBslDYyp5U04p8mKhSVTnNSySYjBpMnYrSx8dKMbMClE3zc0hceYM1KTKTsRYZGbninQll69M1OyLINwoHK8jmh7A2RTMHcHkY9KlfckMe7BJalS33YJPOaS9DO8aqOhoS7itcjMpabYq7cd6GKiUhU2kr1qQx5kTGAw71N5aSThAc8Zoa1uOw2Mt5W8jDYwfelWRXjdR8uRgNTpOpHTbUQXqOcU7ibWw6FjtVG/hGOKHOyXOGxnOe1M2kKoV8kHj3qc4+UEjFRLQOgyOKPB3bWB7GrEbCPCcnAxyKjAjOMgErSMT5jEOfYUvIFoK0Y8zb/C3ao0hyAmfmB61KW8whjj8KU+vcUCbsMUlWEfA54zSiPfIOdp9qB84yetPQEDnrT2Cwzy2gbbuIw2frTgf331q0ESZQT1qvlVkND0B7E8JCko/4GovLBlkikXd8u6n5Dkc81INrjB/A0mrk2Ico/lHaF+bNNnVXlwAAvtStjfg4201gC3WhDaJBGMYFDLuYDPSjzNoAFSuoKq6HNS0Nksk3mRqg5b7oqtHvcqJFIKkgqR0pZUKhWDYI5FHnO2PMOTjrQmnqSySZ49m3HzfypkU29GTr0x7U1Y9z8twKiUeVIc9TxxSvfUll2cDdgBenOKhEu7MYU8HrSROTMN7HGMVKQEZhxTa6kt9B6QeU5kH3WFIy4O8UNclFUDkVLBIjoQaSjqJsqyzYmQ9AKczdR2zmopxmQc8ZqaYr5a4PNKwlqPYjYozzinGZnRUJ6cCoomDLzUbSbJfapuCRdjleI7CaZJh42wOW65qMyl9p9BQXYgbR1NTJtqwJ6knkmFAQ/wB7AxUiR5O0j/gWaikczOCvb9KsAER+5qrLYT0QqhQzNnhelQMhyzLwT6ninKGzsYfj60/IQnp9DSv0RPQgFsrKWLMG7FsHFRorkmN1XHZx/FVhzv3Kx5PNIi7Ms2OKLh0K5JPXJU/KR0Cj1FV1thE2xQxfuRWjIDIvyiljjDEHoQMcdam+o2MhQSIVlG1vWqN/CYjFhGXBOe9aEsXlP97NEil4trjcvai4ioIxMdhGMdTVuY74ePSo4SEl5FTSruXI4FDLRQcOXB6ooxu708h2iHl8NmpWQ4GBzTo1KrkDNO5n1KsUjSyojptdc7vfjrWrFKFQ8cioBEudw+8ajkLR4Umncbeg4DexkwetK69OaktiTC4AqIMVB3VJN9LEeMmp4myMVW3hCSamtm3E0LUkkwinBHNW5IhtD9jVV4jnf19KtOf3Ea560WNZN2IXhZXxjAPemtFv/CrUzHyevSq9rIR5rN93tQHMEeB8meBUiyKrcnmq6uNxK4561aijRk3MOe1SlcG9R+/is/UcFBWjN8qBR3qjcQPOm30rT7ViE7sxrOQrK9vJu2NyhParotmaJsDknGcUWaeX5iEbgD37VpwIrQs31NJvXQexjw2UqwFXUYduwxxVPWbQRB7lgcEBFWujiDSsinotRatZQ3ZjSZiET+EHGaIt81ydmYWhWTpMZX6FeK2DAkRZ1FSIqRxrHGoCqMD6U4IGQ96Hqyb31Mi7BkjMx5Crj8asaPGGsElI+eOQg/jVyO0T7K6tggnPtSaeoZ51RiVPHTAGPSmncu91oRanEssW5vujrVNNPSSx3IPujn8P/rVuSRx+QRKc89BTbGNNrIo+VumaL2YL3UY6QosULjqaW9hYl2X+LFWbyEpOiIvRs/QU64BcdKGxX1KFrEW4/GtWJwsYQ8461TVHhZiAcgcVbhjPllic7hmlKVi7gkhKsAcA1EjEzsufvcUKSiEe9O2ZwydaVy0xyq20AdQCM1JGu5eRhu9PVPKUFvvHrS7hvLA9qbKU0G0j5eGH+e9NmkCRhBnJqaEFgcfiaqn55vbNEUKc9C9CromT8wq0nyYYZxREdoAYcYphm2HywPnZtoqkWXUkDAH0pHm2DPFV0Iy0an5VHWqUkxZM5OCa05rCSLcl4p5BqJZXKb+561CwH2diR7Vbtwh3YBpbssqSzsoU9TnpViK5OcMaZfMqiFcD744pXhVh5keM0rajTEu0DrletZkkgTCP0PAzxmrskhRl3dD8pFQXdsGhK4B74qyik6tEufu/73FZM0itdCO43xSg5XitBJgttIkuFA6lskN9RUbLK6lIlG8EYguMMpP+w3+HNNCvqNt3Z1UZVhyMq35VJJO/mMCGC/Nzimi3gJI2Mm4hiM5Gf50srC2jVo4GnOccnO33xU2H7TUYWDkclm7cfe9qZtyhdYncfTkVXu77VIplAdkQngInFTWsr3sCzuzK65DcnB/Ciw3NohkeRRIXVl7AYqlLKfN+bOFrVMO6BhuO761VkVlulJG5COcqDRezGqlySyUFGVxlWIOKvAbJGRAOD8ozVRNhlzj5cdqnbIiZgG3npina4ue4yaVZJF27lJ+Vg3UU5nZZNoVSNud3fI61XMb4Z+Wxzn1pod0ulHmMEZP1FHKmJay1FknmhlEsAAYHdt9anN5FeWrSMu2ZT9CfrUM8rxybAXYkcgrmmpHEoYlEU9ylVH3SnsXLmF0tAvKvgc+hqumUdGIXG3njgntxUs91JLatGnzPxtL1E2HVjnG1S31wKq/UFdFO6ieQsx+6Pft60IxFoGYHKtwc+tSKZPtBPmEKwGB2JqCVwV2ZJYN0xip31Oh1G4cnYesLu20DJJwRVuNnSFMsyvC21W9VpICCrFsLx/DTxGpkKO5XyxkleB7D8K1RnzXQlzLuQueWCnjoKqmHNrEYXwf+Widecf54qeRW8oB8v1GGX/CpYvlaMKo3KOSvelIUbIqWyIfniDI/Vgo3fj9P5U7bm4WZf3W3owyUb39qa8atdySAsrkbWUEEf/rpN7xg4Dhf4VAyffFM0bGTj9053gIuERsZDL/XrVV3dxsYEGMDb6t9aktiJpt/zZYgc+3b6VDcF4b52fhGOM0IETWbHO87ssD2p4lKo7sePvYqaMNBbSOxyWIRRVbH777q7WByp71LVyGLbF2LOR96Tn2qTMkk7SnlUO1B6t609GCQYKYdn3H2qAkfagFXGzpVx0E9yORn89wGLR7dxyKlUokYYNh/ukY6jv8A0p8F2i3vkSnPnDC7v4D2/Om29o73awzHhny3uaZcS5Z2axxtdT5bHyxj+9/9amzRSTRtucLzn5SMn61K++4nljZtkEWAG6baTys7ogCidvelJ2VwW5XjtmTcoblm6+lZl7bSIzRJufb95gK6NooocyLnLncfrVeWRntpdmVcenWsI1W3dbG7o+6YaQSlUQqQV6Jjnn2qc+YkXlNgBjuIH9arfvWn2oWDvzxwQfU1sLHE0iySctj5z03H1reTscsigiCVtqxcKNxduQDWktkz24XO0kABl6//AFqWNFG2OKPcWOW9FA708SvGyuUMYbgITytSlfUaVlcoTRlZWFvE2wHbvYcdO3rVKCyVZPOvHFxNj/Vlvl+laExBnXC5ZzjGecVGVC4ixvk/2B0q720Q9xgG5vrSBcEk9KWIfNT5V+Q1KM3sVmLKQRyM1N5nTjFMTBTFIXHFEhFkSb4+eophib73anbQEyO9JHuIIBwKYtxA2OtKxJGO1MK/N1pX5TIpA0ICQcVYbLx4qqhOMmnuW4K9KBDgMDnrQFycmoy24gCp1J6EVIDhlSCOlT4zzgVGjK4KjgipUwV4PNMVxhchuBxTlYbs1FMGjI54NKqnIPapsUmO6uakhCq5cfePFAG5+KaUKt1pST6Bcc5LS5IoaPLe1OibPDCpSB1HWkpdybkBiWNFHegAMxyaZJuMgP6VPtDcmqGhiugyNvTvmlIUrkVHIse7K0zcciotqKTJ1jwMihgzKKlVgFFO2ggc0kKxFHA6qe4pCxJxnmrJfaBVaddx3qat6g2NE7I5FNKu6ll5plwp8rcKbA8ixDbSSEx6TFDg9RVtpAYw1U2DdSMmqxlkMixjoTQwSL+4FeetOC7hxTms9sKnd2qzbxAJnOTWLlbU6I0JPchEDnBIpcENt6CrDSsOMU5HVvvLTUzR4S/wsz5mYnaeaTzNrDcea0JkXqo5rOnjIYZFCZz1aUoaEzb3Q7ODUEMUhOXbLCplYiPnrTY2w3pTRgx7xkjIPzUquXQZ+8KSR9r9eKUr5Y3LyDTuCGgnzMEZFSqdu4CoSfm3CpwuVyamTsJ6kODu5pHPP4VKaj6saSZCQyGU7yOxp7gk9zmlWECpUXjBHNJsa0EtxkbSehqdlKcDOKYV2jI60JIzHmouJbj4F2t7VK8hAwDxQAAvFMU5kqgkySJgx68iiQE9KRQDKStDnDUkrA0RE7euc1JgsuOxphG9RmpIifu9qVhIQOY8VKCY5FdaYeCQeQaau5SeflNJ6F7liUJIu5DzUDk7cA8UgOxs54oY5ahrqZSIkYl8GpGJC4JzUU0ZVwy06MM7g9qHqXsiaP5iQx28ZpeAOGp7xkKp7VXOVfHajqQSxYLktSMAzkUiD5uKVVwxJo3EyeLCRHFMdQw6dajjcsxU9KdJngLT6A0QtFlTn1pkbbJOKtlTszVYR/vKl6EtaFoMDxn6U/5vlz/DUKRhm69KsL8wwetI0TuhZJNyHcKhkwY9sfeppwDHVVCVUirZFyKCKSJ9zfdq5FJ82AeKiDM42YpApjkxSTsJu5YklLSAY4qaIgjD9+lV0XPU9adJyML2ov1L6CwQIjSKOc80JuTKmollkWXd6VKJd7E460dRPYkjIAZunFRSneoJOaazBUcdzQv3Kd9CCMvtUgdabFNtQrinqgZqbKm0gVK1H0F80qrAjKmlg+XJHyr1qaWLEY4xRFGpUZIAprQEiNmD4YUtrJ5c6r1Rv0pW2pJgdKZwH3IKSvcCS+x5nA9+Kr+YC4BHymluZDI2e4psY3r05qm7sS0Ljxr5fmHvwKrwOQvzcYPSjzip2t8y+lLvVzkDFTJpmjQsiDJI6GmrlSG9KsxBG4I61XucK2FNNA3oCN5jNvpdyhgoqFSUUkUpyVBFK12K5KGYMQvenFQm0ZpsWChJ60xmLZx1rSK0Fc14JAY2f+7WfFKXkM3Tk0xZv9G2Dgng01jtjCihO5q5aWLwciI4OGYVFHMggKsN2O1QGV5EH94DFQiTZAyY5z1ptjTLl46+SjJwKmsZnMJ2qST3rPefdaeWeo6VPaXiwW7RsOe1NFcyTEu5XkWIjqsn61ctZ0aRo5T82cjIrLVmeVT23ZNTTyq0/cE96E+oKRpXVqGhd88gcVRDFgrscD7p+tSreMts6S5JxgGqRlyHjYdcFau5TkV7y2ZkuU8tuVOAKggst0bPMXjSUAtHI2Rn6etXZJ5IY1U8mmOv2ja3ei+gXIyYt/yfOw4JJwaq3lrJO6yQyFXCYCZxuqdSMPjuafbKCdxxkd8cip3Y9itPGzxbJEDMB3/xplm21SCpGf7xzWhJH5w+UfNnrVZ4SJCBgkVotGLoQjIkIHegKMfMMimglJvm4NKWIZh2NTIFuOij+baBxUoMiSMUG7H6CoEyhqwTstWJxlqaRpEYXZU8ok7cd6rlCNrA4KnOaexbYPmz7mmrJtJRhwKaeo763JEh8xTl9zAcE1BcWqptLFXjPDAVYO+OEsRhTyKrbn8raee/NJqVzVcth02HnUIuF24FRu+xgg5GdpxU4k3OI9mMLnNSwyBAfun1+WteW+5JVKo43GJkYds1FPCQUkPJ6CrkuWZhUWzewDN8q9yaEhEJYBOW9qsQSeWJGQZOMD29ahKxKGLH5x0pGY5Xb3HYdKObqNDo97M7kk47mnR/NFIHXcWqPec+UzABhxV8CNbVY1Py+vrTS6lbGdHbtG3ytwOak+Sf7jnzomHHarBXapwarwiKDLAbuc/U+9F7Be4kdttcusZA5wxqJ7UXcScqWz8xBq9LJ5sYYnI9BVSACEMCcc04j2Q+4st4IBwFXIqlCAGCNyR0NXRI0lwiMP3YpLmBEnynaqavsQxs6fJuXr3qNEVlDn73TNSLLhwG78U90CgjlecilbqPYz/7L3XhnZsIw59c5rRhxdTI4JRo2BAI6gU5nSQKhxj1qHy/LcqjHI5BptsaZZkbP03HFRPIMADOBzzUht1Wxil3fNu5FMmaMbRjIrJxerNOa+g2Ry68Y6YFKqD7KXGCT8uPSoAeTU42sjBuRio9mmrFxrzs0Rg5Y7lDZHBqLG9zkHCngDpUqYXIY5LcjHYUyT5eVYnA4ArRow9R2+QZjjYKW55HWk2whXVcev0PtQjHCt/GuKW4XE6IqBQORirQdCtGryE89flIXqfxoFjeMXEcDBlG1cDt6kmnmV7a5UoWG4/w1NqAFzI2JGzgAHNF7blRehRPyjIqSNw4waBFuQ0Rpg1K3MnqiELtkI7U54QeRVhlHpzSBM1YiNd4A9Ke33fl6+lNMhVStC5C7jUMdiFSdxzUoAx1qNjk0xw2RigGTtFtWpYkzHx1FPGHgXPWnBdo4ovYSVxvkKTnvTOVcg9KmBPNMx81JjtoNVRuLDirAwY/9qodxz0oDc1CuS0OdWdeacuCuPSn7htqMdTitBpE0S5bOaVh81QbyhyKnSTK80kJqw0qxGRxSLKc4apwPkJFQEZXkUct9wGO205oSXd3pJCNvNRRpknBqUJljYGPWkOxRSbSi8GolbexBp20E0OLsenSrAPyjmovLJwKeFy4HNRYEOLkjFRbiGx2qZlIoVQ3JobsDHoqsm1qrSxlMhDxU/3XAFOdM8gVbsyUVFfbbkv96qiPvcE8HNaE8O6E1Uitzu56UtC13NHynMYO6i3laKTafummLIVXbTlUyfWsHF7HYsT7tiffiQ570Gba3FQeVKkmW6U6RSCDTS90yhW5Zska5BYetLPcJIAMc1BNH8mRRHEWAJo5TX2ya5mSSEKoApMAck064QbR61EQdoqnuee11IyS59qlhbK7GFOhhJGaeYwrZo2JSIduG5q0o/d81FPwARURmJiwDUNXYWElnAyB2qNLkE5xUfllsilhgKyMD0NaJIC3HJ5r8etT4Oaiji2Y9akYtuBFS4ieuxYVCACaY0W05qSPcVxSyDip5UTYhTOetIB+85JFOAwM0hPzUthE6KACailOWxT4j8ppGA3c0N6Ce4rgLHx9aYsgBzUwGY+agYDOKm4MlJB5FMmkCrQo4oMW7GaT1LuJHhutC8yVLtGQFFSGEKu6iOxMokTHJxUkUZjPXg1GRnp2qSM+tHUHsTCTjaRxVZ48gmpWOORUZfrzTaJuMgyrHNTOozUAOelSB8HmjRhYjkfb0p0bEmpXiUpmoU4JFK1tBSJfMXGDSGIH5l6mkEBY804RFT7U2rgn0EVGRwT0qbAzlDSO/wAmMVFG2HODSkhoe8hPyntUQ4JJ6U7Yxl5pZeAAKixLQRZBLYpA2Zct0qSLAX5qjdhv4p2sgtoSM3IxT92FJ61ADzTyuMnNG6BMYG3Mcinow3Zziol+8aVjipZNyUgFsmkZ1A9PSot2OtIf3h4NNSHYljJLcVPsx8xGahQbBTxLkbWqlsOI6VvMGM5puMqKdCqjOfrSSnbzUtMrYj3BW+bpTXlUjCUxx5hoCjoKE7EDVO5setSbWjalgXbIWNOeUO5GKdh2GsMHPrTAdppzGmnnpQ49QTLMRyOlQyIzPnFHm+UoxUyXKEDIxRHbUGiFI8bt3FNifYxB5FSy4bJFVGJqr2BosPMBwKanXnJpsagjmpFO1utNSAVyAcAUhwq4NNlYCTrUbNzSb6FlmMhcGoJ8b+O9KkoCkGo1+8Sfyq3qtAuMkzx6Yp2HIBCHHrTmTIyaspdbYvLZVrKU7GsKV1zMrpMUfGOKllj87BU9KjmUH5hwaijuNpIJ5rdMzJpGdQELZp0bBpMnrTFDSqZD0qNdyvuFGvMVcddN8wfvUkeGi3K3Peqk252BPApu/DhQcU9ncpEs0RjBYd6YrFVwBU87ZjApkMW48VVuxUdSWOZSuDUW5kkLY4pzDL7TjilmJIAU80K47Fe4Rd28DrUDHIB9qn3EOQeahO3efSl1G0NblM55pyCQqA3IFNb5Pf2qTeeMGqSK6DJY84I+UAVRmcgABs1oSZIG77veqjr5spIXCjgVTQnqTQyM4CsTtFPlTaS46UkYVQo4zVkgOjIetNK5V+hR3dWGSakjdcZ6H6ZpQiKCveolwr4PAp2KTJ1YMMHrTQQVaPvSOw34qFd0cvsaSVgGSR/NjrVmNQLdmcgHoKUAGQGopF/eH0p7MENEOZQcZzVt1WSLatRwvggGnyEZ+Xp3px2GtSszyiPZ/EKjGdw3LzUsxAIx1pr5bmnsCEO4/KrYHtTWTnk04EIAR170bucHnNL4kGqAsUHHSmvK/mDcOPWnqhbOOlGM8n7uKroAyRMgMvXrVuQGa3VQPm9az1uHSXgZFWxKHTevBpxYIYkawjaWDP8AyqYqAmf4jVYcz7qknmfcM4HoBQPyFYknb0AqJcPJj24pGfC7v4jSRZB8w9hSGhdmTt705nK4RcDPBqISHdu7U9l5zmhIRMI1UjPWmCEux5xinZJjz3qMHd3waT8w3G7CJFXqS1Szr5kwA4Ze9R/MCD6U4vvkBprRDsRXKlVBY/dpGU+Tv/iqeZfOwB2NRl/4D24oYncarY4phI3ZFKtRt96pQiwGXvSkjoBVU9RU46UMBpjGc0uAUxUjfcqHvSuUthip83NWBbqarj71Wl6U7lKCcbjJFwm0URElMGlfpSr0qWQNbIpqEsae1Nj+9RfQELIGxkDNMDbj0qwelRDrQ3oOEbscQdtC8Cnj7pqPvSQ5RUQNSRsAu00gpP4vwqkZdC1EwVT6VHI+Og4oj+7T+1ROdi1Aou2c1JFjtTZgATxTrbrU3M+XUmblahiiPmVcYDb07UyL74q90Fhw+TqKCyOcjginT9qgHU1V+gnoSn5hSIMGhehpE++aiS0JbAoytuqRXDEU9v8AVfhUMX3qE9B20Jynye1QmPP3anf7n4VFF978KUtBkBUg0+NmVwfSnv8A1pFpCLTzBk5HNVmkycUpqI/eobJLajMXNNVgrUsX3Kjb79J6BfoLMdxqJmxint0qJ+1MllmN/lwKkZGCZqGD7tWn+5S3Ykyt95CDVJlIkwOlXV71A/36GS2PjUYBNSlBjIqMfdqUfcFHQCwhVlFDEKcVDF1qVqLiRIsgK012DNimL1pP4xUsLkhGFqIrUjUw9KmW4luM8wqeKkDbgKgH3qmHSkhsm5KcVDg5Oalh+7Q/U0mhpDEYA1IHyKg/jqQdKSESggUyScgbc01ulQyfeFWgY5GfrU0bmoY/umnrSuDRYV85pGAamLSjrTSM2NC7T7U8pupR1qRPu1LGxu4qu09KZgZyKdL92ox0oTuHQnV8JT45A/BqBfu0sfWncLD5flBFNgj3MT6US9T9akg70NXYkOx7VGy5PFSP0NKvQVEt7CuRY9aa0WW61M/9aB900NXGVCSr09m3Diib71InSkiGPgXLYNLOgVqfD/rKW56U7e6Mqsu5eKRIyj5zTo+tSN1NZsq+hLFiQkU2WNQOTSQf6ym3VXHYSQ4MDHwenSoWdmOKSP7tOXrTew3sPQjbzTWx1FMk4FJ/BWfW4rDxMPu4pq/fpidalXrV3Ae3TgUsagdadH0NIatiW5DMOMe9NQHbUkv9KVOlZyKZF8y9aYzc1M/WoJKEC3AS7RQr5bk1GfuilT71VYfUmchmH0pPek/ipT92kUxqj5sjoKZ87T7v4alT7poTvVX0BKwc96cn3ueaQ/dpU604q5q5OwSnJGOlVmUb81ZbrUD9quRmhRcNGAmODVlk2xgnrUTgbk4p0pOBzTjqXYidhu64FRsqk5plx1FI33FqlqU1oWM5XaanhTy1LZqiScLzVzJ8jrTjuVFEdwyq+4dTVYSneCadJ96oD96hsfUuECVahYBeAKmi+6KhloWo+gjR74896EjIwTTFPNWV/wBWaaYr6DJiNgNRCMDmlb7lHarTux9BoQFwfSldyjZ9aE6mibrTRdivHIvnbzk1G0nmSdMU9OhqH+M0XESMcj3pUJPWkfqPpSR/epDJ0bbyaYz7jx0psn3ajFWMljYZqdsqOOaqL1WpV+8aUQTEPzhiRUZOB71Ov8VV5epoYJgrea20VIoCNg1XtfvH6VM3enFDQ5Zdkpx0NSykbTiqX8Y+tW1+4KpbEsqq2GOR1p8TELgVE/X8alg+8KSH0LawYXe1VpzyTVycnyhzWdJ0qmD0AH5OaljJ8th2qD+AfWnr0rNAhFj3fQUbiGwafH0qF/vD61RTRdX/AFWfWqkpKnA71b/5YLVab7wp7ol6MmjBeOgDy+veltfu0k3+tFO3UaY1CQ5YCoyw8zJqRfvNULffqJbgf//Z\n",
            "text/plain": [
              "<IPython.core.display.Image object>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "SWB0zVI5fFDy",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 159,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "vUlIUaHZN2QS",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "def make_gradcam_heatmap(\n",
        "    img_array, model, last_conv_layer_name, classifier_layer_names\n",
        "):\n",
        "    # First, we create a model that maps the input image to the activations\n",
        "    # of the last conv layer\n",
        "    last_conv_layer = model.get_layer(last_conv_layer_name)\n",
        "    last_conv_layer_model = keras.Model(model.inputs, last_conv_layer.output)\n",
        "    last_conv_layer_model.summary()\n",
        "\n",
        "    # Second, we create a model that maps the activations of the last conv\n",
        "    # layer to the final class predictions\n",
        "    classifier_input = keras.Input(shape=last_conv_layer.output.shape[1:])\n",
        "    x = classifier_input\n",
        "    for layer_name in classifier_layer_names:\n",
        "        x = model.get_layer(layer_name)(x)\n",
        "    classifier_model = keras.Model(classifier_input, x)\n",
        "    classifier_model.summary()\n",
        "\n",
        "    # Then, we compute the gradient of the top predicted class for our input image\n",
        "    # with respect to the activations of the last conv layer\n",
        "    with tf.GradientTape() as tape:\n",
        "        # Compute activations of the last conv layer and make the tape watch it\n",
        "        last_conv_layer_output = last_conv_layer_model(img_array)\n",
        "        tape.watch(last_conv_layer_output)\n",
        "        # Compute class predictions\n",
        "        preds = classifier_model(last_conv_layer_output)\n",
        "        top_pred_index = tf.argmax(preds[0])\n",
        "        top_class_channel = preds[:, top_pred_index]\n",
        "\n",
        "    # This is the gradient of the top predicted class with regard to\n",
        "    # the output feature map of the last conv layer\n",
        "    grads = tape.gradient(top_class_channel, last_conv_layer_output)\n",
        "\n",
        "    # This is a vector where each entry is the mean intensity of the gradient\n",
        "    # over a specific feature map channel\n",
        "    pooled_grads = tf.reduce_mean(grads, axis=(0, 1, 2))\n",
        "\n",
        "    # We multiply each channel in the feature map array\n",
        "    # by \"how important this channel is\" with regard to the top predicted class\n",
        "    last_conv_layer_output = last_conv_layer_output.numpy()[0]\n",
        "    pooled_grads = pooled_grads.numpy()\n",
        "    for i in range(pooled_grads.shape[-1]):\n",
        "        last_conv_layer_output[:, :, i] *= pooled_grads[i]\n",
        "\n",
        "    # The channel-wise mean of the resulting feature map\n",
        "    # is our heatmap of class activation\n",
        "    heatmap = np.mean(last_conv_layer_output, axis=-1)\n",
        "\n",
        "    # For visualization purpose, we will also normalize the heatmap between 0 & 1\n",
        "    heatmap = np.maximum(heatmap, 0) / np.max(heatmap)\n",
        "    return heatmap"
      ],
      "execution_count": 164,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "u3Fccj0jOnhR",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "last_conv_layer_name = 'dropout_32'\n",
        "classifier_layer_names = [\n",
        "    \"flatten_5\",'dense_10','activation_46','batch_normalization_43','dropout_33','dense_11','activation_47'\n",
        "]\n",
        "#img = np.expand_dims(img,axis=0)"
      ],
      "execution_count": 168,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "dUYPGQQ3N4ys",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "08edea37-79e9-4681-b48b-e285647b0596"
      },
      "source": [
        "heatmap = make_gradcam_heatmap(\n",
        "    img, model, last_conv_layer_name, classifier_layer_names\n",
        ")"
      ],
      "execution_count": 172,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Model: \"functional_51\"\n",
            "_________________________________________________________________\n",
            "Layer (type)                 Output Shape              Param #   \n",
            "=================================================================\n",
            "conv2d_38_input (InputLayer) [(None, 32, 32, 3)]       0         \n",
            "_________________________________________________________________\n",
            "conv2d_38 (Conv2D)           (None, 32, 32, 64)        1792      \n",
            "_________________________________________________________________\n",
            "activation_39 (Activation)   (None, 32, 32, 64)        0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_36 (Batc (None, 32, 32, 64)        256       \n",
            "_________________________________________________________________\n",
            "dropout_28 (Dropout)         (None, 32, 32, 64)        0         \n",
            "_________________________________________________________________\n",
            "conv2d_39 (Conv2D)           (None, 32, 32, 64)        36928     \n",
            "_________________________________________________________________\n",
            "activation_40 (Activation)   (None, 32, 32, 64)        0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_37 (Batc (None, 32, 32, 64)        256       \n",
            "_________________________________________________________________\n",
            "max_pooling2d_14 (MaxPooling (None, 16, 16, 64)        0         \n",
            "_________________________________________________________________\n",
            "conv2d_40 (Conv2D)           (None, 16, 16, 128)       73856     \n",
            "_________________________________________________________________\n",
            "activation_41 (Activation)   (None, 16, 16, 128)       0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_38 (Batc (None, 16, 16, 128)       512       \n",
            "_________________________________________________________________\n",
            "dropout_29 (Dropout)         (None, 16, 16, 128)       0         \n",
            "_________________________________________________________________\n",
            "conv2d_41 (Conv2D)           (None, 16, 16, 128)       147584    \n",
            "_________________________________________________________________\n",
            "activation_42 (Activation)   (None, 16, 16, 128)       0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_39 (Batc (None, 16, 16, 128)       512       \n",
            "_________________________________________________________________\n",
            "max_pooling2d_15 (MaxPooling (None, 8, 8, 128)         0         \n",
            "_________________________________________________________________\n",
            "conv2d_42 (Conv2D)           (None, 8, 8, 256)         295168    \n",
            "_________________________________________________________________\n",
            "activation_43 (Activation)   (None, 8, 8, 256)         0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_40 (Batc (None, 8, 8, 256)         1024      \n",
            "_________________________________________________________________\n",
            "dropout_30 (Dropout)         (None, 8, 8, 256)         0         \n",
            "_________________________________________________________________\n",
            "conv2d_43 (Conv2D)           (None, 8, 8, 256)         590080    \n",
            "_________________________________________________________________\n",
            "activation_44 (Activation)   (None, 8, 8, 256)         0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_41 (Batc (None, 8, 8, 256)         1024      \n",
            "_________________________________________________________________\n",
            "dropout_31 (Dropout)         (None, 8, 8, 256)         0         \n",
            "_________________________________________________________________\n",
            "conv2d_44 (Conv2D)           (None, 8, 8, 256)         590080    \n",
            "_________________________________________________________________\n",
            "activation_45 (Activation)   (None, 8, 8, 256)         0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_42 (Batc (None, 8, 8, 256)         1024      \n",
            "_________________________________________________________________\n",
            "max_pooling2d_16 (MaxPooling (None, 4, 4, 256)         0         \n",
            "_________________________________________________________________\n",
            "dropout_32 (Dropout)         (None, 4, 4, 256)         0         \n",
            "=================================================================\n",
            "Total params: 1,740,096\n",
            "Trainable params: 1,737,792\n",
            "Non-trainable params: 2,304\n",
            "_________________________________________________________________\n",
            "Model: \"functional_53\"\n",
            "_________________________________________________________________\n",
            "Layer (type)                 Output Shape              Param #   \n",
            "=================================================================\n",
            "input_23 (InputLayer)        [(None, 4, 4, 256)]       0         \n",
            "_________________________________________________________________\n",
            "flatten_5 (Flatten)          multiple                  0         \n",
            "_________________________________________________________________\n",
            "dense_10 (Dense)             (None, 512)               2097664   \n",
            "_________________________________________________________________\n",
            "activation_46 (Activation)   (None, 512)               0         \n",
            "_________________________________________________________________\n",
            "batch_normalization_43 (Batc (None, 512)               2048      \n",
            "_________________________________________________________________\n",
            "dropout_33 (Dropout)         (None, 512)               0         \n",
            "_________________________________________________________________\n",
            "dense_11 (Dense)             (None, 100)               51300     \n",
            "_________________________________________________________________\n",
            "activation_47 (Activation)   (None, 100)               0         \n",
            "=================================================================\n",
            "Total params: 2,151,012\n",
            "Trainable params: 2,149,988\n",
            "Non-trainable params: 1,024\n",
            "_________________________________________________________________\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "nmEc4mivOv8S",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 275
        },
        "outputId": "4d85929e-9878-4a7c-dfb8-a68142fe068f"
      },
      "source": [
        "plt.matshow(heatmap)\n",
        "plt.show()"
      ],
      "execution_count": 173,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 288x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Br7GmF4GPMq9",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 619
        },
        "outputId": "129a786a-f8d7-42b1-ad0c-53fa07ce4cac"
      },
      "source": [
        "# We load the original image\n",
        "img = keras.preprocessing.image.load_img('b.jpg')\n",
        "img = keras.preprocessing.image.img_to_array(img)\n",
        "\n",
        "# We rescale heatmap to a range 0-255\n",
        "heatmap = np.uint8(255 * heatmap)\n",
        "\n",
        "# We use jet colormap to colorize heatmap\n",
        "jet = cm.get_cmap(\"jet\")\n",
        "\n",
        "# We use RGB values of the colormap\n",
        "jet_colors = jet(np.arange(256))[:, :3]\n",
        "jet_heatmap = jet_colors[heatmap]\n",
        "\n",
        "# We create an image with RGB colorized heatmap\n",
        "jet_heatmap = keras.preprocessing.image.array_to_img(jet_heatmap)\n",
        "jet_heatmap = jet_heatmap.resize((img.shape[1], img.shape[0]))\n",
        "jet_heatmap = keras.preprocessing.image.img_to_array(jet_heatmap)\n",
        "\n",
        "# Superimpose the heatmap on original image\n",
        "superimposed_img = jet_heatmap + img\n",
        "superimposed_img = keras.preprocessing.image.array_to_img(superimposed_img)\n",
        "\n",
        "# Save the superimposed image\n",
        "save_path = \"man_gradcam.jpg\"\n",
        "superimposed_img.save(save_path)\n",
        "\n",
        "# Display Grad CAM\n",
        "display(Image(save_path))\n"
      ],
      "execution_count": 175,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/jpeg": "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\n",
            "text/plain": [
              "<IPython.core.display.Image object>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "NEgzD8w-Qt6e",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}